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; }
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; }