bfs用c++代码演示
时间: 2023-07-24 20:56:34 浏览: 101
bfs.rar_BFS c++_bfs
当然,我可以为您提供一个使用C++编写的BFS算法的代码示例。以下是一个基本的示例:
```c++
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
void BFS(vector<vector<int>>& graph, int start) {
int n = graph.size();
vector<bool> visited(n, false);
queue<int> q;
visited[start] = true;
q.push(start);
while (!q.empty()) {
int node = q.front();
q.pop();
cout << node << " ";
for (int neighbor : graph[node]) {
if (!visited[neighbor]) {
visited[neighbor] = true;
q.push(neighbor);
}
}
}
}
int main() {
int n = 6; // 图中节点的数量
vector<vector<int>> graph(n);
// 添加图的边
graph[0].push_back(1);
graph[0].push_back(2);
graph[1].push_back(3);
graph[1].push_back(4);
graph[2].push_back(4);
graph[3].push_back(5);
graph[4].push_back(5);
int start = 0; // BFS的起始节点
cout << "BFS traversal starting from node " << start << ": ";
BFS(graph, start);
return 0;
}
```
这是一个简单的BFS算法示例,用于遍历一个图。您可以根据需要修改图的节点数量和边的连接关系。在上述示例中,我们从节点0开始进行BFS遍历,并输出遍历结果。
希望这个代码示例能帮助到您!如果您有任何其他问题,请随时提问。
阅读全文