数据结构之---C语言实现图的邻接表存储表示

// 图的数组(邻接矩阵)存储表示 
#include 
#include 
#include 
#define MAX_NAME 3					// 顶点字符串的最大长度+1 
#define MAX_VERTEX_NUM 20
typedef int InfoType;				// 存放网的权值 
typedef char VertexType[MAX_NAME];	// 字符串类型 
typedef enum{DG, DN, AG, AN}GraphKind; // {有向图,有向网,无向图,无向网} 
int visited[MAX_VERTEX_NUM];	// 访问标志数组
void(*VisitFunc)(char* v);		// 函数变量

typedef struct ArcNode
{
	int adjvex;					// 该弧所指向的顶点的位置 
	struct ArcNode *nextarc;	// 指向下一条弧的指针 
	InfoType *info;				// 网的权值指针
}ArcNode;						// 表结点 

typedef struct VNode
{
	VertexType data;			// 顶点信息 
	ArcNode *firstarc;			// 第一个表结点的地址,指向第一条依附该顶点的弧的指针 
 }VNode, AdjList[MAX_VERTEX_NUM];// 头结点 

typedef struct
{
	AdjList vertices;
	int vexnum, arcnum;	// 图的当前顶点数和弧数 
	int kind;			// 图的种类标志 
}ALGraph;

typedef int QElemType; // 队列类型 

//单链队列--队列的链式存储结构 
typedef struct QNode
{
	QElemType data;		//数据域
	struct QNode *next;	//指针域
}QNode, *QueuePtr;

typedef struct
{
	QueuePtr front,	re

你可能感兴趣的:(数据结构,C,&&,C++)