admin管理员组文章数量:1516870
输出深度遍历序列的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(&
本文标签: 输出深度遍历序列的c语言程序图的深度优先遍历
版权声明:本文标题:输出深度遍历序列的c语言程序,图的深度优先遍历 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1730986932a1554239.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论