Beispiel #1
0
int main() {
	int i;
	Edge edge[] = {
		{ 1, 2, 1 },
		{ 1, 3, 3 },
		{ 2, 3, 3 },
		{ 2, 4, 6 },
		{ 3, 4, 4 },
		{ 3, 5, 2 },
		{ 4, 5, 5 }
	};
	Edge selectEdge[VERTEX_COUNT] = { 0, 0, 0 };

	qsort(edge, sizeof(edge) / sizeof(edge[0]), sizeof(Edge), comp);

	for (i = 1; i < SIZE; i++) {
		up[i] = 0;
		weight[i] = 1;
	}

	Kruskal(edge, selectEdge);
	edgePrint(selectEdge);

	return 0;
}
Beispiel #2
0
int main() {
	int arr[SIZE][SIZE] = {
		0, 0, 0, 0, 0, 0,
		0, 0, 1, 3, INF, INF,
		0, 1, 0, 3, 6, INF,
		0, 3, 3, 0, 4, 2,
		0, INF, 6, 4, 0, 5,
		0, INF, INF, 2, 5, 0
	};
	Edge selectEdge[SIZE] = { 0, 0, 0 };

	prims(arr, selectEdge);
	edgePrint(selectEdge);

	return 0;
}
int main() {
	int arr[SIZE][SIZE] = {
		0, 0, 0, 0, 0, 0,
		0, INF, 7, 4, 6, 1,
		0, INF, INF, INF, INF, INF,
		0, INF, 2, INF, 5, INF,
		0, INF, 3, INF, INF, INF,
		0, INF, INF, INF, 1, INF
	};
	int touch[SIZE] = { 0 };
	int length[SIZE] = { 0 };
	Edge selectEdge[VERTEX_COUNT] = { 0, 0, 0 };

	dijkstra(arr, touch, length, selectEdge);
	edgePrint(1, length);

	return 0;
}