鏈式前向星存圖

鏈式前向星存圖

head和next的作用

其實這倆本質是一樣的,next就是把一個又一個過氣(?)head自個兒存起來以便查詢。
模擬一遍就懂了的東西。
在這裏插入圖片描述
4⃣️的,地瓜就是一個愛手寫的孩子……
看下模擬過程基本就很容易理解
···

代碼

初始化+結構體:

#define maxn 10000;//題目給的n最大值
#define maxm 1000;//m最大值
int n,m;//n個點,m條邊;
int cnt;//邊的編號;
head[maxn]struct Edge{
	int to;
	int w;
	int next;
}e[2*maxm+5];//無向圖,有向圖應該[maxm+5]就夠了

存邊:

void addedge(int u,int v,int w){
e[cnt].to=v;
e[cnt].w=w;
e[cnt].next=head[u];//此時head中的編號給next了;
head[u]=cnt++;//接收新的值
};

遍歷:

for(int i=0;i<n;i++)
{
	for(int j=head[i];i;i=e[i].next)
	{
	一 通 操 作 ;
	//這裏一般是spfa找最短路啥的,會寫一篇新的bo
	}
}

ps:鏈式前向星明明是起碼半年前就會的東西,現在又忘了以至於要重新寫一遍,果然不愧是廢物地瓜🍠,誰見了都會流淚。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章