可以用的链式前向星……模板

时间:2021-07-17
本文章向大家介绍可以用的链式前向星……模板,主要包括可以用的链式前向星……模板使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

你只需要魔板!! U81206 【模板】链式前向星

u开头,没有提街??

算了

看看题意:

	读入n个点,m条边,以及flag,
	若flag==1则图有向,否则无向。
	对每个点输出它的每一条边。
作为人类,我懂了

安排AC

#include<bits/stdc++.h>
using namespace std;
const int N=4000010;
long long n,m,f,cnt,h[N];

struct note{
	int next,w,to;
}e[N];

void add(int a,int b,int c){
	cnt++;
	e[cnt].to=b;e[cnt].w=c;e[cnt].next=h[a];
	h[a]=cnt;
}

int main(){
	cin>>n>>m>>f;
	
	for(int i=1;i<=m;i++){
		int a,b,c;
		scanf("%d%d%d",&a,&b,&c);
		add(a,b,c);
		if(f==0){
			add(b,a,c);
		}
	}
	
	//输出
	for(int i=1;i<=n;i++){
		int q=i;
		for(int k=h[q];k;k=e[k].next) {
			printf("%d %d %d\n",q,e[k].to,e[k].w);
		}
	}
	return 0;
} 

和谐??

超阴间亚航班
#include<bits/stdc++.h>
using namespace std;long long n,m,f,cnt,h[4000010];struct note{int next,w,to;}e[4000010];void add(int a,int b,int c){cnt++;e[cnt].to=b;e[cnt].w=c;e[cnt].next=h[a];h[a]=cnt;}int main(){cin>>n>>m>>f;for(int i=1;i<=m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);add(a,b,c);if(f==0){add(b,a,c);}}for(int i=1;i<=n;i++){int q=i;	for(int k=h[q];k;k=e[k].next) {printf("%d %d %d\n",q,e[k].to,e[k].w);}}return 0;} 
“链式前向星”是空间效率最高的存储方法,因为它用静态数组模拟邻接表,没有任何浪费。
链式前向星的优点是存储效率高、程序简单、能存储重边;缺点是不方便做删除操作。

赠送万二志愿:

原文地址:https://www.cnblogs.com/TRUE3494063625/p/15024235.html