Topological sort/Extracted top item: Difference between revisions

m
→‎{{header|Java}}: added comment, changed adjacency to boolean
m (→‎{{header|Java}}: added comment, changed adjacency to boolean)
Line 402:
class Graph {
List<String> vertices;
intboolean[][] adjacency;
int numVertices;
 
Line 408:
vertices = asList(s.split(","));
numVertices = vertices.size();
adjacency = new intboolean[numVertices][numVertices];
 
for (int[] edge : edges)
adjacency[edge[0]][edge[1]] = 1true;
}
 
List<String> toplevels() {
List<String> result = new ArrayList<>();
// look for empty columns
outer:
for (int c = 0; c < numVertices; c++) {
for (int r = 0; r < numVertices; r++) {
if (adjacency[r][c] > 0)
continue outer;
}
Line 434 ⟶ 435:
 
while (!queue.isEmpty()) {
Integerint r = queue.poll();
for (int c = 0; c < numVertices; c++) {
if (adjacency[r][c] > 0 && !queue.contains(c)) {
queue.add(c);
}
Anonymous user