输出深度遍历序列的c语言程序,图的深度优先遍历

阅读: 评论:0

输出深度遍历序列的c语言程序,图的深度优先遍历

输出深度遍历序列的c语言程序,图的深度优先遍历

我在大二上学期期末时候写的,大概2014年1月4号左右。我写在博客里一是为我以后复习所用,二是希望对需要的人有所帮助。

问题描述:

设计一个程序,输入一个无向图的顶点(编号 1,2,3···n)和边,使用邻接表存储结构存储该图,设定起始顶点后,按深度优先遍历算法遍历该图。输出顶点的访问次序。

#include #include

#include

#include

#define MAXLIN 40

/*----邻接表存储结构---*/

//-----------------表节点存储结构----------

typedef struct ArcNode{                                            //结构体

int adjvex;     //表节点编号信息

struct ArcNode *next;

}ArcNode;

//-----------------头结点存储结构-----------

typedef struct VNode{

char vertex[5];      //节点信息

ArcNode *link;

int id;         //编号

}VNode;

//边节点

typedef struct Bian{                            //为了方便 加的一个结构体

char one[5];                //存储边的第一个节点

char two[5];                //存储边的第二个节点

}Bian;

typedef struct{

VNode adjList[MAXLIN];     //顺序存储 头结点  头结点的数组

int vexnum;       //顶点数

int arcnum;            //边数

Bian bian[MAXLIN];        //边的数组

int kind;                //图的存储种类

}ALGraph;

int visit[MAXLIN];

//返回是第几个顶点

int PanDuan(char n[5],ALGraph &G)

{

for(int i=0;i

{

if(strcmp(n,G.adjList[i].vertex)==0)

return i;

}

printf("没有找到相关顶点,图的信息有误!n");

return 0;

}

//输入图的相关信息

ALGraph InPut(ALGraph G)

{

int i;

char haha[4];

printf(&

本文发布于:2024-02-02 09:51:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683869143007.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:遍历   深度   序列   语言   程序
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23