#include<stdio.h>
#include<malloc.h>
#define Max 50
int visited[Max];
//边表节点
typedef struct EdgeNode
{
int adjvex;//储存对应顶点的下标
int weight;//用于储存权值
struct EdgeNode * p;//指向下一个边表节点
}EdgeNode;
//顶点表节点
typedef struct VertexNode
{
int date;//数据
EdgeNode * p;//指向边表节点
}VertexNode;
//图节点
typedef struct Graph
{
VertexNode agjList[Max];//顶点表数组
int numVextexes,numEdges;//当前顶点数和边数
}Graph;
//创建图的邻接表结构
void GreateGraph(Graph * G)
{
int i,j,k;
EdgeNode * e;
printf("输入顶点数和边数");
scanf("%d %d",&G->numVextexes,&G->numEdges);
for(i=0;i<G->numVextexes;i++)//输入顶点信息
{
printf("输入顶点的信息:");
scanf("%d",&G->agjList[i].date);
G->agjList[i].p=NULL;
}
/*
1>利用头插法
2>因为无向图没有方向,所以创建边表节点的时候,要重复创建两次
并进行相反的操作
无向图邻接表的深度优先遍历
最新推荐文章于 2024-08-11 22:45:00 发布
博主在实现无向图邻接表的深度优先遍历时遇到问题,当顶点使用char类型数据时,程序运行出现错误。目前博主正积极寻找并解决这个问题。
摘要由CSDN通过智能技术生成