数据结构C语言版——图的建立与遍历
编程环境 VC++ 6.0
年4月26号
------------------------------------------------------*/
#include #include #include #include #define null 0 #define TRUE 1 #define FALSE 0 #define OVERFLOW -2 #define OK 1 #define ERROR 0 typedef int Status; //图的邻接矩阵——数组存储表示------------------------- #define INFINITY #define MAX_VERTEX_NUM typedef int VRType; typedef char VertexType[20]; typedef int Boolean; typedef struct ArcCell{ }ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct{ }MGraph; /*图的临接表存储表示------------------------------------ typedef struct ArcNode{ }ArcNode; typedef struct VNode{ }VNode,AdjList[MAX_VERTEX_NUM]; typedef struct{ //采用数组(邻接矩阵)表示法,构造无向图G-------------- int LocateVex(MGraph *G,VertexType v); int CreateGraph(MGraph *G){ 请依次输入无向网的顶点数和弧数:\\n"); 请输入 %d 顶点向量:",G->vexnum); 顶点列表:\\n"); 请输入 %d 条弧关系的邻接矩阵:\\n",G->arcnum); } int LocateVex(MGraph *G,VertexType v){ } //查找第一个邻接点--------------------- int FirstAdjVex(MGraph *G,int v) { } //查找下一个邻接点----------------------- int NextAdjVex(MGraph *G,int v,int w) { } //按邻接矩阵方式输出无向图---------- void PrintGraph(MGraph *G) { 无向图为:\\n"); } //图的深度遍历-------------------------------------------- Boolean visited[MAX_VERTEX_NUM]; void Dfs(MGraph *G,int v) { } void DfsTraverse(MGraph *G) { } //主函数——用采用数组(邻接矩阵)表示法,构造无向网G------------------ void main() { 深度遍历:\\n"); DfsTraverse(&G); printf("\\n"); }