Files
railwaysystem/RuoYi-Vue/ruoyi-ui/node_modules1/graphlib/lib/alg/components.js
T

27 lines
447 B
JavaScript
Raw Normal View History

2026-09-10 15:40:10 +08:00
var _ = require("../lodash");
module.exports = components;
function components(g) {
var visited = {};
var cmpts = [];
var cmpt;
function dfs(v) {
if (_.has(visited, v)) return;
visited[v] = true;
cmpt.push(v);
_.each(g.successors(v), dfs);
_.each(g.predecessors(v), dfs);
}
_.each(g.nodes(), function(v) {
cmpt = [];
dfs(v);
if (cmpt.length) {
cmpts.push(cmpt);
}
});
return cmpts;
}