Self-test implementation.
126 {
127
129 int n_1 = 6;
131 graph1.addEdge(4, 0);
132 graph1.addEdge(5, 0);
133 graph1.addEdge(5, 2);
134 graph1.addEdge(2, 3);
135 graph1.addEdge(3, 1);
136 graph1.addEdge(4, 1);
139 std::cout <<
"Topological Sorting Order: ";
140 for (int i : ans_1) {
142 }
144 assert(ans_1 == expected_1);
146
147
149 int n_2 = 5;
151 graph2.addEdge(0, 1);
152 graph2.addEdge(0, 2);
153 graph2.addEdge(1, 2);
154 graph2.addEdge(2, 3);
155 graph2.addEdge(1, 3);
156 graph2.addEdge(2, 4);
159 std::cout <<
"Topological Sorting Order: ";
160 for (int i : ans_2) {
162 }
164 assert(ans_2 == expected_2);
166
167
169 int n_3 = 3;
171 graph3.addEdge(0, 1);
172 graph3.addEdge(1, 2);
173 graph3.addEdge(2, 0);
174 try {
178 }
180}
Class that represents a directed graph and provides methods for manipulating the graph.
Definition topological_sort.cpp:38
std::vector< int > topologicalSort(const Graph &g)
Function to get the topological sort of the graph.
Definition topological_sort.cpp:95