链式前向星

Posted changeg1824

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链式前向星相关的知识,希望对你有一定的参考价值。

链式前向星的特点

  1. 能存储重边
  2. 存储效率高
  3. 占用内存少
  4. 删除操作不方便
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 const int N=1000005;
 5 struct Edge{
 6     int to,next,w;///to终点,next下一条边的位置,w权值
 7 }edge[N];
 8 int head[N];///head[u]存与顶点u连接的第一条边的位置
 9 int cnt;
10 
11 void init(){
12     for(int i=0;i<N;i++){
13         edge[i].next=-1;///-1表示没有下一条边
14         head[i]=-1;///-1表示没有相邻的边
15     }
16     cnt=0;
17 }
18 
19 void addedge(int u,int v,int w){
20     edge[cnt].to=v;
21     edge[cnt].w=w;
22     edge[cnt].next=head[u];///结点u上一次存的边的位置
23     head[u]=cnt++;///更新存边的位置
24 }
25 
26 int main(){
27     init();
28     int u=1;
29     addedge(1,2,1);
30     addedge(1,2,3);
31     addedge(1,3,4);
32     addedge(1,4,5);
33     addedge(1,8,9);
34     for(int i=head[u];i!=-1;i=edge[i].next){
35         cout<<edge[i].to<<" "<<edge[i].w<<endl;
36     }
37 }

 

以上是关于链式前向星的主要内容,如果未能解决你的问题,请参考以下文章

前向星和链式前向星

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

链式前向星

图的存储:链式前向星(边集数组)

链式前向星

链式前向星