#include<iostream>
using namespace std;
#define maxvex 10
struct EdgeNode {
int adjvex; //连接的顶点
EdgeNode *next; //指向下一条出边
};
struct VertexNode {
int data; //点的数据
EdgeNode *firstedge;//指向第一条出边
}AdjList[maxvex];
void CreateALGraph() {
int n, m, i, j; //点数 n ,边数 m
cin >> n >> m;
for (i = 1; i <= n; i++) {
cin >> AdjList[i].data;
AdjList[i].firstedge = NULL;//初始化第一条出边为NULL
}
for (i = 1; i <= m; i++) {
int v1, v2;
cin >> v1 >> v2;
EdgeNode *e;
//无向图===============================
e = new EdgeNode;
e->adjvex = v2;
e->next = AdjList[v1].firstedge;
AdjList[v1].firstedge = e;
e = new EdgeNode;
e->adjvex = v1;
e->next = AdjList[v2].firstedge;
AdjList[v2].firstedge = e;
}
}
int main() {
CreateALGraph();
return 0;
}
用链表实现邻接表
猜你喜欢
转载自blog.csdn.net/qq742762377/article/details/82082616
今日推荐
周排行