vector<Node> Adj[maxn];//邻接表 intmain(){ //1、使用临时变量temp存储边的信息 Node temp;//存储一条边的信息 temp.v =1;//该边终点是顶点1 temp.w =2;//边权为2 Adj[0].push_back(temp);//将这条边存储顶点0中,即该边连接顶点0和顶点1 //2、使用结构体构造函数存储边的信息 intv, w...
用邻接表或vector实现存边以及具体如何调用[模板] 存边; 对于指针实现的邻接表: 1 2 3 4 5 6 7 8 9 10 11 struct edge{ int from,next,to,w; }E[maxn]; int head[maxn],tot=0;//head初始化为-1; void add(int x,int y,int z){ E[++tot].from=x;//头结点 E[tot].to=y;//...
由于邻接矩阵这种存储结构存在一定空间浪费,因此考虑用邻接表邻接表这是一种数组与链表结合一起来存储。无向图有向图(把顶点当弧尾)有向图(把顶点当弧头)【这种叫做逆邻接表】十字链表邻接表固然优秀,但也有不足的地方,比如对有向图的处理的时候,有时需要建立逆邻接表。 十字链表将邻接表和逆邻接表整合在一起。
# 复习思路 # 基本用法 cctype:tolower toupper (ctype.h) stoi to_string substr(start,len) algorithm sort(a,a+n,cmp) %d %lld %s %c % getchar() cin.getline() sscanf() sprintf() fill(e[0],e[0]+MAXN*MAXN,inf); fill(dis,dis+MAXN,inf); vector map set foreach 。。。 # 基本...
用vector实现邻接表 用vector实现邻接表 #include<iostream>#include<stdio.h>#include<vector>usingnamespacestd;intmain(){ vector <int> G[101];intn,m; cin>>n>>m;for(inti=0;i<m;i++ ) {ints,t; cin>>s>>t;//x通yG[x].push_back(y);//y通xG[y].push_back(x);...