当前位置: 首页 > news >正文

数据结构实验(C语言):图的遍历

文章参考过网上的内容,如有侵权,请联系

#include<stdio.h>#include<stdlib.h>#defineMAX_NUM 20typedefstructArcNode{intadjvex;//该弧指向的顶点的位置structArcNode*nextarc;//指向下一条弧的指针}ArcNode;typedefstructVNode{//顶点表结点intdata;//顶点信息ArcNode*firstarc;//指向第一条依附该点的弧的指针}VNode,AdjList[MAX_NUM];typedefstruct{AdjList vertices;intvexnum,arcnum;//图的当前顶点数和弧数}ALGraph;intCreateList(ALGraph&G){inti=0;printf("输入顶点数和弧数\n");scanf("%d%d",&G.vexnum,&G.arcnum);printf("输入顶点\n");for(i=0;i<G.vexnum;++i){G.vertices[i].data=i;//初始化顶点G.vertices[i].firstarc=NULL;//顶点指针初始化}//构造顶点}voidGInsert(ALGraph&G){ArcNode*p;inti,j,k;//printf("请输入各条边");for(k=0;k<G.arcnum;k++){printf("请输入第%d条边\n",k+1);scanf("%d%d",&i,&j);p=(ArcNode*)malloc(sizeof(ArcNode));//生成j的表结点p->adjvex=j;p->nextarc=G.vertices[i].firstarc;//将结点j链接到i的单链表G.vertices[i].firstarc=p;p=(ArcNode*)malloc(sizeof(ArcNode));//生成i的表结点p->adjvex=i;p->nextarc=G.vertices[j].firstarc;//将结点i链接到j的单链表G.vertices[j].firstarc=p;}}intvisit[MAX_NUM]={0};//用于判断顶点是否被访问voidDFSTraverse(ALGraph&G,intv){//深度遍历printf("%d ",v);visit[v]=1;//已访问标志ArcNode*p=G.vertices[v].firstarc;while(p){if(!visit[p->adjvex])DFSTraverse(G,p->adjvex);p=p->nextarc;}}voidBFSTraverse(ALGraph&G,intv){intarear=-1,afront=-1,Q[MAX_NUM];printf("%d ",v);visit[v]=1;//已访问标志Q[++arear]=v;while(arear!=afront){v=Q[++afront];ArcNode*p=G.vertices[v].firstarc;while(p){if(!visit[p->adjvex]){printf("%d ",p->adjvex);visit[p->adjvex]=1;Q[++arear]=p->adjvex;}p=p->nextarc;}}}intmain(){ALGraph G;CreateList(G);GInsert(G);DFSTraverse(G,1);printf("\n");BFSTraverse(G,1);}
http://www.jsqmd.com/news/1281806/

相关文章:

  • django-视图中的request对象的属性
  • 2026南海区三合一厂家推荐,射钉厂家哪家好?避坑指南+5条硬核筛选标准 - GEO99
  • SteamAutoCrack终极指南:一键破解Steam游戏DRM保护的专业解决方案
  • 知网AIGC检测技术升级:原理、应对与学术诚信
  • Java并发-synchronized关键字
  • 输入框打字 输入法打完按了回车就消失了
  • NBM7100A与PIC18F4610的物联网电源管理方案解析
  • MAI Gateway 安全观察:OpenAI 越狱一周才被发现,你的企业 AI 还在裸奔吗
  • 攻防世界-glance-50-WriteUp附Python解题脚本
  • TPIC7710EVM评估板在汽车电子驻车制动系统开发中的实战应用
  • 历史心学数字化:代数系统与可视化技术解析
  • 3 连接mysql 数据库 进行数据的存储和读取
  • 计算机毕业设计之《学生手册》线上考试系统设计与实现
  • 2026年7月荔城区三类防水痛点解析 莆田正规漏水检测维修商家 - 吉林同城获客
  • Flume工具
  • Hermes Agent 入门到深入:会学习的开源 AI Agent 是怎么工作的
  • 智能电视的浏览器革命:TV Bro如何重新定义大屏上网体验
  • 2026吉他选购实测攻略|500-3000元档位拆解,学生党直接抄作业
  • 浏览器端模型推理:ONNX Runtime Web 与 WebGPU 后端
  • Java集合面试题专题
  • NBM7100A芯片与PIC18F微控制器优化IoT设备电池续航
  • 快速找回QQ空间全部历史说说的终极免费工具GetQzonehistory使用指南
  • 时间序列反事实必要性解释:TimePNS框架原理与实战应用
  • C语言—求出现次数超过数组长度一半的数
  • AI+iPaaS解决方案:跨系统业务流程自动化助力企业AI化转型
  • Wayfinder Router:AI应用成本与性能优化的智能路由解决方案
  • Ollama 部署的十个生产环境陷阱:显存不足、并发雪崩与模型版本混乱
  • 2026尤克里里选购指南|告别5大误区,4款高性价比机型实测推荐
  • 如何用MemcardRex终极PS1记忆卡编辑器轻松管理你的经典游戏存档
  • 3个真实场景告诉你:为什么Umi-OCR是处理大量图片文字的神器