#include<iostream>
using namespace std;
const int MAX_SIZE = 10;
//邻接表
typedef struct edgenode
{
int adjvex;//邻接点序号
char info;//临接点信息
edgenode*next;//下一个指针
}edgenode;
struct vernode
{
char data;//顶点信息
edgenode *firstnext;//结点第一个指针
};
typedef struct vernode adj[MAX_SIZE];
//创建图
void creategraph(adj g)
{
int n,e;//临时储存边及顶点的个数
cin>>n>>e;
for(int i=0;i<n;i++)
{
cin>>g[i].data;
g[i].firstnext=NULL;
}
int s,d;//起点终点序号
edgenode *p,*q;
for(int i=0;i<e;i++)
{
cin>>s>>d;
p = (edgenode*)malloc(sizeof(edgenode));
q = (edgenode*)malloc(sizeof(edgenode));
p->adjvex=d;
p->info=g[d].data;
q->adjvex=s;
q->info=g[s].data;
p->next=g[s].firstnext;
g[s].firstnext=p;
q->next=g[d].firstnext;
g[d].firstnext=q;
}
}
邻接表创建图
最新推荐文章于 2023-10-20 20:33:26 发布