说句闲话:我发现了一种新的存图方式
  • 板块学术版
  • 楼主zhangjiaan
  • 当前回复58
  • 已保存回复58
  • 发布时间2024/7/25 08:54
  • 上次更新2024/7/25 09:27:37
查看原帖
说句闲话:我发现了一种新的存图方式
1073741
zhangjiaan楼主2024/7/25 08:54

为大家奉上用它写的一个小程序(打印邻接表):

#include<bits/stdc++.h>
using namespace std;
const int maxn=105;
struct edge{
	int t,u; 
};
struct/* node*/{
	int u,c;
	int rn,cn;
	edge x[maxn],y[maxn];
}g[maxn];
void addedge(int s,int t,int u){
	g[s].y[g[s].cn++]={t,u};
	g[t].x[g[t].rn++]={s,u};
}
void allnb(int a){
	for(int i=0;i<g[a].cn;i++){
		cout<<g[a].y[i].t<<" "<<g[a].y[i].u<<endl;
	}
	cout<<endl;
}
int main(){
	int n,p;
	cin>>n>>p;
	for(int i=0;i<n;i++){
		cin>>g[i].c>>g[i].u;
	}
	for(int i=0;i<p;i++){
		int a,b,c;
		cin>>a>>b>>c;
		addedge(a,b,c);
	}
	for(int i=0;i<n;i++){
		allnb(i);
	}
}

本蒟蒻觉得这是最直观的一种方式,因为他直接用数组模拟链式关系。

2024/7/25 08:54
加载中...