Files
XCEngine/docs/api/resources/dependencygraph/hascirculardependency.md

32 lines
820 B
Markdown
Raw Normal View History

# ResourceDependencyGraph::HasCircularDependency
```cpp
bool HasCircularDependency(ResourceGUID guid, Containers::Array<ResourceGUID>& outCycle) const
```
检测是否存在以指定节点为起点的循环依赖。使用 DFS 遍历依赖图,检测回路。
**参数:**
- `guid` - 起始节点
- `outCycle` - 输出参数,检测到的循环路径(包含形成环的节点 GUID
**返回:** 如果存在循环依赖则返回 true否则返回 false
**复杂度:** O(n + e)
**示例:**
```cpp
Containers::Array<ResourceGUID> cycle;
if (graph.HasCircularDependency(guid, cycle)) {
printf("Circular dependency detected: ");
for (const auto& g : cycle) {
printf("%llu ", g.value);
}
}
```
## 相关文档
- [ResourceDependencyGraph 总览](dependencygraph.md) - 返回类总览