1 邻接矩阵 即 用一个二维数组来存储 但是这样太浪费空间了 所以限制挺大
int q[1000][1000];//这种 用二维数组分别表示谁 和指向谁 限制是如果点n过多就会超过内存限制
2 邻接表 用一个vector数组来存比邻接矩阵稍微好点
vector <int,int> q[1000];//往一条边的起始点对应的v[i]里push 会比二位数组好点但也可能出现问题
3 链式前向星 用一个结构体数组来存储
struct qwe{
int flag;//上一个在哪
int next;//指向谁
int val;//长度
}q[1000];//这里的值是有多少条边
int head[1000];//这里的是有多少个点 head存的是哪个开始 初始化的值都是-1
int cnt=0;//这里记得是有多少点存了起来
int build_h(int a,int b,int v){ //a传得是起始点 b传得是终止点 v是长度
q[cnt].next=b;
q[cnt].val=v;
q[cnt].flag=head[a];
head[a]=cnt++;
}//这样的话 存的就是边
int querty(int a){
//举个便利a点相连的所有点
int i;
for(i=head[a];i!=-1;i=q[i].flag)
{
q[i].next//a点指向哪个点
q[i].val;//a点到q[i].next这个的长度
}
}