模板-深度优先搜索的前向星实现

Posted Pyl0j

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板-深度优先搜索的前向星实现相关的知识,希望对你有一定的参考价值。

  最近学了前向星,非常爽,什么都想重新写一遍,哈哈哈......

  不说了,先拿dfs开刀。

 1 #include <cstdio>
 2 #include <vector>
 3 using namespace std;
 4 
 5 const int MAXN=100;
 6 struct node {
 7     int to;
 8     int w;
 9 };
10 vector <node> map[MAXN];
11 bool s[MAXN]={false};
12 
13 void dfs(int x) {
14     s[x]=true;
15     printf("%d\n",x);
16     vector <node>::iterator it;
17     for (it=map[x].begin();it!=map[x].end();it++) {
18         node tmp= *it;
19         if (!s[tmp.to]) dfs(tmp.to);
20     }
21 }
22 
23 int main() {
24     int n,m;
25     scanf("%d%d",&m,&n);
26     int k,i,j,w;
27     for (k=1;k<=m;k++) {
28         scanf("%d%d%d",&i,&j,&w);
29         node e;
30         e.to=j;
31         e.w=w;
32         map[i].push_back(e);
33     }
34     dfs(1);//dfs from Node 1
35     return 0;
36 }

 

以上是关于模板-深度优先搜索的前向星实现的主要内容,如果未能解决你的问题,请参考以下文章

模板-前向星的vector实现

模板链式前向星

最短路Dijkstra+ 链式前向星+ 堆优化(优先队列)

前向星和链式前向星

前向星链式前向星实现以及它的遍历

深度理解链式前向星