c_cpp DFS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp DFS相关的知识,希望对你有一定的参考价值。
#include <iostream>
using namespace std;
class graph {
int v;
int **adj;
public:
graph (int v) {
this->v= v;
adj= new int*[v];
for (int i=0; i<v; i++)
adj[i]= new int [v];
for (int i=0; i<v; i++)
for (int j=0; j<v; j++)
adj[i][j]= 0;
}
void addEdge (int u, int w) {
adj[u][w]= 1;
}
void dfs (int , bool []);
};
void graph::dfs(int s, bool visited[]) {
visited[s]= 1;
cout<< s << " ";
for (int j=0; j<v; j++)
if (!visited[j] && adj[s][j]==1)
dfs(j, visited);
}
int main() {
graph g(9);
g.addEdge(0,1);
g.addEdge(0,3);
g.addEdge(1,2);
g.addEdge(1,5);
g.addEdge(2,4);
g.addEdge(2,3);
g.addEdge(3,6);
g.addEdge(3,7);
g.addEdge(6,8);
bool visited[9]= {0};
g.dfs(0, visited);
}
以上是关于c_cpp DFS的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp DFS
c_cpp 图表的DFS
c_cpp DFS
c_cpp 克隆图dfs
c_cpp [dfs] [string]回文分区
c_cpp [graph] [dfs]拓扑排序图