Topological sort: Difference between revisions

m
→‎{{header|C++}}: Renamed variables, for clarity
m (→‎{{header|C++}}: Minor reorder of operations)
m (→‎{{header|C++}}: Renamed variables, for clarity)
Line 686:
{
auto const&
keygoal = lookup.first,
goalrelations = lookup.second;
if(goalrelations.dependencies == 0)
sorted.push_back(keygoal);
}
for(std::size_t index = 0; index < sorted.size(); ++index)
for(auto const& keygoal : map[sorted[index]].dependents)
if(--map[keygoal].dependencies == 0)
sorted.push_back(keygoal);
for(auto const& lookup : map)
{
auto const&
keygoal = lookup.first,
goalrelations = lookup.second;
if(goalrelations.dependencies != 0)
unsortable.push_back(keygoal);
}
}
41

edits