云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《数据结构实验指导书》

《数据结构实验指导书》

  • 62 次阅读
  • 3 次下载
  • 2025/5/23 19:24:17

第一部分 上机实践

-31-

第一部分 上机实践

(4)程序运行结果

省略创建图时的输入内容,只须画出预创建的无向图。然后给出程序的运行结果。

-32-

第一部分 上机实践

2.图的邻接表表示法的实现

(1)图的邻接表表示及相关操作的定义。将如下代码设计完整,并保存为“ALGraph.h”。

#define MaxVexNum 20 struct arcNode { int adjVex;

struct arcNode *nextArc; };

struct vexElem { VexType data;

struct arcNode *firstArc; };

typedef struct

{ struct vexElem vexs[MaxVexNum]; int vexNum,arcNum; int kind;

} ALGraph; //图的邻接表类型

int compareTo(VexType v1,VexType v2); //顶点元素的比较函数声明 int LocateVex(ALGraph &G, VexType v)

//在图G中查找顶点v,若存在返回位置,否则返回-1 { }

void InputVexInfo(VexType v); //顶点信息输入函数声明 void CreatDG(ALGraph &G) //有向图的创建 { //代码略 }

void findIndegree(ALGraph &G, int indegree[]) //求每个顶点的入度,存于indegree数组中 { int i;

struct arcNode *p;

for(i=0;i

{ indegree[p->adjVex]++; p=p->nextArc; } } }

-33-

第一部分 上机实践

(2)图的邻接矩阵表示的测试程序及应用

以下实现了对“ALGraph.h”中图的邻接矩阵表示及其操作的测试示例程序。并且程序还实现了有向图拓扑排序算法。

#include #include #include \

typedef char VexType[20]; //顶点类型为字符数组类型 #include \

typedef int SElemType; //定义栈中元素类型为int类型 #include \

int compareTo(VexType v1,VexType v2)//顶点元素的比较函数定义 { return strcmp(v1,v2); }

void InputVexInfo(VexType v) //顶点信息输入函数定义 { scanf(\}

void GraphOutput(ALGraph &G) //邻接表的输出 { int i;

struct arcNode *p;

printf(\.kind); for(i=0;i

{ printf(\ p=G.vexs[i].firstArc; while(p)

{ printf(\ } printf(\ } }

Status TopSort(ALGraph &G) /*利用栈和求入度函数对有向图G进行拓扑排序。若能够进行拓扑排序,则输出拓扑序列,函数返回TRUE;否则返回FALSE*/

{ //代码略 }

int main()

{ ALGraph G;

CreatDG(G); GraphOutput(G); printf(\拓扑序列:\

if( !TopSort(G) ) printf(\图中存在有向环路,拓扑序列不完整!\\n\ return 0; }

-34-

搜索更多关于: 《数据结构实验指导书》 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第一部分 上机实践 -31- 第一部分 上机实践 (4)程序运行结果 省略创建图时的输入内容,只须画出预创建的无向图。然后给出程序的运行结果。 -32- 第一部分 上机实践 2.图的邻接表表示法的实现 (1)图的邻接表表示及相关操作的定义。将如下代码设计完整,并保存为“ALGraph.h”。 #define MaxVexNum 20 struct arcNode { int adjVex; struct arcNode *nextArc; }; struct vexElem { VexType data; struct arcNode *firstArc; };

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com