图的邻接表表示

有一幅图:


图的“顶点”为:1,2,3,4,5,6,7,8 


用下面三个结构体表示图的邻接表存储信息:

//“结点”结构体,存储与“顶点”相连的顶点
typedef struct node
{
	int adjVex; //“顶点”对应的“结点”信息
	struct node *next; //指向下一个与“某顶点”相连的结点
}EdgeNode;


//顶点结构体
typedef struct vnode
{
	char vertex; //顶点信息
	EdgeNode *firstEdge; //指向第一个与“此顶点”相连的结点
}AdjList;


//图结构体
typedef struct
{
	AdjList vertexs[VERTEXNUM]; //邻接表,即顶点数组
	int verNum, edgeNum; //图中当前的顶点和边数
}Graph;

顶点1对应的顶点(结点)为2,3,所以“顶点1的表”构造步骤:
1->NULL //1初始指向的结点位置NULL 
1->2->NULL //2指向1指向的结点位置NULL,1指向2
1->3->2->NULL  //3指向1指向的结点位置2,1指向3
剩余顶点表构造步骤相同:
2->5->4->1->NULL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值