#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_VERTEX_NUM 20
#define OVERFLOW 0
#define OK 1
#define TRUE 1
#define FALSE 0
typedef int Status ;
typedef char VertexType;
typedef int QElemType;
typedef struct ArcNode
{
int adjvex; //邻接点域,存储该邻点顶点对应的下标
struct ArcNode *nextarc; //邻节点
int weight; //权值
}ArcNode;
/*邻接表结构*/
typedef struct VNode
{
VertexType data; //顶点对应的值
ArcNode *firstarc; //边表头指针指向邻顶点
}VNode,AdjList[MAX_VERTEX_NUM];
typedef struct
{
AdjList vertices;
int vexnum,arcnum; //顶点数,边数
}ALGraph;
/*队列结构*/
typedef struct QNode
{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
//typedef struct
//{
// QueuePtr front; //队头指针
// QueuePtr rear; //队尾指针
//}LinkQueue;
//
//Status InitQueue(LinkQueue Q)//构造一个空队列
//{
// Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));//队头结点
// if(!Q.front)
// exit(OVERFLOW);
// Q.front ->next = NULL;
// return OK;
//}
//
//Status QueueEmpty(const LinkQueue &Q)//若队列为空,则返回TRUE,否则返回FALSE
//{
// if(Q.rear == Q.front)
// return TRUE;
// return FALSE;
//}
//
//Status EnQueue(LinkQueue &Q, QElemType e) //插入元素e为Q的新队尾元素
图的邻接表的遍历以及简单路径
最新推荐文章于 2024-07-28 17:42:24 发布
本文介绍了如何使用邻接表结构来遍历图并寻找简单路径。通过深度优先搜索(DFS)和广度优先搜索(BFS)实现图的遍历,并展示了在C语言中创建图、标记已访问节点以及找到连通图中两个节点之间的简单路径的方法。
摘要由CSDN通过智能技术生成