vector邻接表: 遍历某个链表的方法: for(int i=0;i<G[u].size();i++) 最喜欢这种写法,写起来快,也非常好理解。 vector邻接表还有一种魔性写法: 其实差不多……属于懒人中的懒人写法。 数组邻接表: 遍历某个链表的方法: for(int
链式前向星与vector的两种邻接表建图 链式前向星与vector的邻接表存图 vector建图简单直观,加边灵活,但占用内存大。 链式前向星建图比较容易操作。 1|1链式前向星 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 inthead[N],cnt; structEdge { intnext; intto; ll w; Edge(){memset(head,-1,sizeofhead)...
链式前向星与vector的邻接表存图链式前向星与vector的两种邻接表建图 vector建图简单直观,加边灵活,但占⽤内存⼤。链式前向星建图⽐较容易操作。链式前向星 int head[N],cnt;struct Edge { int next;int to;ll w;Edge(){memset(head,-1,sizeof head);} }edge[N];void addedge(int u,int v,ll w...
# 复习思路 # 基本用法 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邻接表:遍历某个链表的方法: for(inti=0;i<G[u].size();i++)最喜欢这种写法,写起来快,也非常好理解。vector邻接表还有一种魔性写法:其实差不多……属于懒人中的懒人写法。数组邻接表:遍历某个链表的
学习到了这种邻接表的存图方式: 邻接表的存图方式(不用vector正常的方式),可以给每条双向边编号。这样就能够与最初给的边的编号联系起来【编号的边/2是真正的边的编号】,给每条边做额外的处理! 这是vector做不到的。 1memset(first,0,sizeof(first);23voidadd(intx,inty,intww){4s[++id] =y;5w[id]...