Untitled
unknown
plain_text
a month ago
779 B
5
Indexable
include <stdio.h> #include <stdlib.h> #define V 6 void topologicalSortUtil(int v, int visited[], int stack[], int *top, int graph[V][V]) { visited[v] = 1; for (int i = 0; i < V; i++) { if (graph[v][i] && !visited[i]) { topologicalSortUtil(i, visited, stack, top, graph); } } stack[(*top)++] = v; } 18 void topologicalSort(int graph[V][V]) { int stack[V], top = 0; int visited[V] = {0}; for (int i = 0; i < V; i++) { if (!visited[i]) { topologicalSortUtil(i, visited, stack, &top, graph); } } printf("Topological ordering: "); while (top > 0) { printf("%d ", stack[--top]); } printf("\n"); } int main() { int graph[V][V] = {{0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0}}; topologicalSort(graph); return 0; }
Editor is loading...
Leave a Comment