- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构试验十一图的遍历操作-read
数据结构实验图的遍历操作一、实验目的:完成对图的创建,并实现图的深度优先遍历和广度优先遍历二、实验内容:1、 所输入的数据要为整形数据2、 输出的形式为:每按一次回车,遍历一个结点3、 能创建最大结点树为30的任意图,实现对无向图的两种遍历程序流程:main()clrscr()---visited()---DFS()---visited()---BFS()4、源程序:#include stdlib.h /*引用两个头文件*/#define maxvex 30 /*定义MAXVEX=30*/struct edgenode /*定义边的结构体*/{int adjvex;char info;struct edgenode*next;};struct vexnode /*定义点的结构体*/{char data;struct edgenode*link;};typedef struct vexnode adjlist[maxvex]; /*自定义adjlist为结构体数组类型*/adjlist tu1; /*定义结构体数组变量tu1*/void creategraph(adjlist g,int n) /*图创建函数*/{int e,i,s,d; /*定义存储边、点的变量*/struct edgenode*p,*q; /*定义边的结构体指针*/printf(the point(n) and edge(e):); /*显示提示输入点,边*/scanf(%d,%d,n,e); /*接收点、边存入n,e中*/for(i=1;i=n;i++){getchar(); printf(\tthe %d information:,i); /*提示输入结点信息*/scanf(%c,g[i].data); /*存储信息*/g[i].link=NULL; /*最后指针为空*/}for(i=1;i=e;i++){printf(\nthe%d edges=\n\t :,i); /*提示输入边信息*/scanf(%d,%d,s,d); /*接收边的信息*/p=(struct edgenode*)malloc(sizeof(struct edgenode));q=(struct edgenode*)malloc(sizeof(struct edgenode)); /*开辟两个存储边的空间*/p-adjvex=d; /*把其中一个点存储下来*/p-info=g[d].data; q-adjvex=s; /*把另一个点存储下来*/q-info=g[s].data;p-next=g[s].link; /*p和s的link指针连接起来*/g[s].link=p;q-next=g[d].link; /*q和s的link指针连接起来*/g[d].link=q; /*完成一个边的创建*/}}int visited[maxvex]; /*定义访问数组*/void dfs(adjlist adj,int v) /*深度优先遍历函数*/{int i;struct edgenode*p; /*定义边指针*/visited[v]=1; /*把开始遍历的点在访问数组中标识*/printf(now is at point %d,v); /*输出正访问的点*/p=adj[v].link;printf(the data is %c \n,adj[v].data); /*输出点的信息*/getch();while(p){if(visited[p-adjvex]==0)dfs(adj,p-adjvex); /*没有访问的再调用DFS函数*/p=p-next; /*访问过的判断下一个*/}}int quene[maxvex];void bfs(adjlist adj,int vi) /*广度优先遍历函数*/{int m=maxvex; /*定义一个队列*/int front=0,rear=1,v;struct edgenode*p; /*定义边指针*/visited[vi]=1; /*开始访问的点标识一下*/printf(now visit the point:%d\n,vi); /*输出正访问的点*/getch();quene[rear]=vi; /*把访问过的点放入数组中*/while(front!=rear){front=(front+1)%m;v=quene[front];p=adj[v].link;while(p){if(visited[p-adjvex]==0) /*判断p-adjvex点是否访问过*/{visite
您可能关注的文档
- 沈亚之<秦梦记>与<枕中记><南柯太守传>之比较.doc
- 肾病门诊患者健康教育移动平台的构建与应用探讨.pdf
- 沈阳职业技术学院教案用纸第2周总第4次2学时教学班级08酒店1.doc
- 肾细胞癌诊断治疗指引.ppt
- 肾盂灌注冲洗并发全身炎症反应综合征猪模型的-现代生物医学进展.pdf
- 沈红波黄卉廖理-清华大学五道口金融学院.pdf
- 升高相同温度.ppt
- 神通mih智慧健康解决方案黄家煦博士神通资讯科技股份有限公司104.pdf
- 生产管理培训-卓制.pdf
- 生产线工艺流程.doc
- 2025辽宁沈阳市和平区区属国有企业沈阳和平城市发展投资有限公司面向社会招聘4人(公共基础知识)测试.docx
- 2026课程教材研究所招聘6人(应届生,北京)(公共基础知识)测试题附答案.docx
- 2024年辽宁装备制造职业技术学院马克思主义基本原理概论期末考试题最新.docx
- 2025广东深圳市退役军人事务局招考军休服务社会化项目购买服务人员4人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库附完整答案(有一套).docx
- 2023年曲靖市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026年毛概期末考试试题库含答案【精练】.docx
- 2025安徽公务员考试真题库(文字版)之公共基础知识1套.docx
- 2025厦门事业真题库《公共基础知识》附答案.docx
- 2025台州玉环市图书馆编外招聘1人(公共基础知识)测试题附答案.docx
原创力文档


文档评论(0)