用c++写一个深度搜索代码
时间: 2023-05-18 12:03:58 浏览: 79
C++深度搜索
5星 · 资源好评率100%
好的,以下是一个简单的深度优先搜索的代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
#define MAX_N 100 // 最大节点数
int n; // 节点数
int graph[MAX_N][MAX_N]; // 图的邻接矩阵
bool visited[MAX_N]; // 标记节点是否已访问
void dfs(int u) {
visited[u] = true; // 标记节点已访问
printf("%d ", u); // 输出节点编号
for (int v = 0; v < n; v++) {
if (graph[u][v] && !visited[v]) { // 如果节点 u 和节点 v 有连边且节点 v 未访问
dfs(v); // 递归访问节点 v
}
}
}
int main() {
scanf("%d", &n); // 输入节点数
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &graph[i][j]); // 输入邻接矩阵
}
}
dfs(0); // 从节点 0 开始深度优先搜索
return 0;
}
```
希望这个代码示例能够帮到你。
阅读全文