版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
参考文献参考文献[1]严蔚敏编.数据结构(C语言版).北京:清华大学出版社,1997.2[2]谭浩强著.C语言程序设计(第二版).北京:清华大出版社,2001.3[3]夏克俭编著.数据结构.北京:国防工业出版社,2000.7[4]彭勃.数据结构.北京:电子工业出版社,2007.6[5]宜晨编著.VisualC++5.0实用培训教程.北京:电子工业出版社,1998.5[6]崔武子.C语言程序设计实践教程.北京:清华大出版社,2006.1[7]庞振平.计算机程序设计基础.广州:华南理工出版社,2002.9沈阳航空工业学院课程设计报告附录附录(程序清单)#include<stdio.h>#include<stdlib.h>typedefstructnode{intadjvex;intw;structnode*nextedge;}edgenode;typedefstruct{chardata;intid;edgenode*firstedge;}vexnode;voidCreateGraph(vexnode*Graph,intvexnumber,intarcnumber){intbegin,end,duttem; charch;edgenode*p;for(inti=0;i<vexnumber;i++){Graph[i].id=0;Graph[i].firstedge=NULL; } printf("请输入这个图中的各个顶点的值:\n");for(i=0;i<vexnumber;i++){scanf("%s",&ch); Graph[i].data=ch; }printf("请输入图中弧的起始点及权值:其格式为<起点,终点,权值>\n");for(intk=0;k<arcnumber;k++){scanf("%d,%d,%d",&begin,&end,&duttem);p=(edgenode*)malloc(sizeof(edgenode));p->adjvex=end-1;p->w=duttem;Graph[end-1].id++;p->nextedge=Graph[begin-1].firstedge;Graph[begin-1].firstedge=p; }}intSearchMapPath(vexnode*Graph,intvexnumber,intarcnumber){ inttotaltime=0; intm=0; inti,j,k,t; charsv[100];intfront,rear; int*topology_queue,*vl,*ve,*el,*ee; front=rear=-1;t=0;topology_queue=(int*)malloc(vexnumber*sizeof(int));vl=(int*)malloc(vexnumber*sizeof(int));ve=(int*)malloc(vexnumber*sizeof(int));el=(int*)malloc(arcnumber*sizeof(int));ee=(int*)malloc(arcnumber*sizeof(int));edgenode*p;for(i=0;i<vexnumber;i++)ve[i]=0;for(i=0;i<vexnumber;i++){if(Graph[i].id==0) topology_queue[++rear]=i; m++; }while(front!=rear){front++;j=topology_queue[front]; m++;p=Graph[j].firstedge;while(p){k=p->adjvex;Graph[k].id--;if(ve[j]+p->w>ve[k])ve[k]=ve[j]+p->w;if(Graph[k].id==0)topology_queue[++rear]=k;p=p->nextedge; } } if(m<vexnumber){printf("\n本程序所建立的图有回路不可计算出关键路径\n");printf("将退出本程序\n");return0;}totaltime=ve[vexnumber-1];for(i=0;i<vexnumber;i++)vl[i]=totaltime;for(i=vexnumber-2;i>=0;i--){j=topology_queue[i];p=Graph[j].firstedge;while(p){k=p->adjvex;if((vl[k]-p->w)<vl[j])vl[j]=vl[k]-p->w;p=p->nextedge; } }printf("|起点|终点|最早开始时间|最迟开始时间|差值|是否为关键路径\n"); i=0;for(j=0;j<vexnumber;j++) {p=Graph[j].firstedge;while(p){k=p->adjvex;ee[++i]=ve[j];el[i]=vl[k]-p->w;printf("|%4c|%4c|%12d|%12d|%4d|",Graph[j].data,Graph[k].data,ee[i],el[i],el[i]-ee[i]);if(el[i]==ee[i]){printf("此弧为关键活动"); sv[t]=Graph[j].data;t++; }printf("\n");p=p->nextedge; } } printf("关键路径节点为:"); sv[t]=Graph[vexnumber-1].data; for(i=0;i<=t;i++){ printf("%c",sv[i]); if(sv[i]!=Graph[vexnumber-1].data) printf(">"); } printf("\n"); printf("关键路径长度为:%d个单位时间\n",totaltime);return1;}voidmain(){intvexnumber,arcnumber,totaltime=0;printf("请输入这个图中的节点数:");scanf("%d",&vexnumber);printf("请输入这个图中的弧数:");scanf("%d",&arcnumber);vexnode*Graph=(vexnode*)malloc(vexnumber*sizeof(vexnode)); CreateGraph(Graph,vexnumber,arcnumber);SearchMapPath(Graph,vexnumber,arcnumber);}沈阳航空工业学院课程设计报告
课程设计总结:从这次给我的课程设计任务中我深刻地体会到了。任何事情并不是想我们想的那样简单和容易。只有扎扎时时的学习知识才能解决实际生活中的实际问题。从这次课设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026西安市灞桥区十里铺街办华清园幼儿园招聘备考题库及答案详解参考
- 2026年灵活用工合规管理实务培训
- 2026贵州农商联合银行第一批开招聘中层管理人员18人备考题库参考答案详解
- 2026首都师大附中科学城学校招聘备考题库含答案详解
- 2026贵州毕节市人才“蓄水池”岗位引进人才10人备考题库及答案详解参考
- 2026黑龙江牡丹江林口县博物馆编外讲解员招聘2人备考题库带答案详解
- 护理远程会诊的效果评估
- 财政涉农资金培训课件
- 职业噪声暴露的神经炎症与认知损伤
- 职业健康防护的行业推广策略
- 2026中国电信四川公用信息产业有限责任公司社会成熟人才招聘备考题库及参考答案详解1套
- 思政教师培训心得课件
- 2026国家国防科技工业局所属事业单位第一批招聘62人备考题库及参考答案详解
- LoRa技术教学课件
- 2025中央广播电视总台招聘144人笔试历年题库附答案解析
- 急性高原疾病课件
- 牧业公司生产安全预案
- 脑机接口科普
- 2025年湖北烟草专卖局招聘考试真题及答案
- 反向呼吸训练方法图解
- 肉鸡采食量影响因素分析与调控研究进展
评论
0/150
提交评论