版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
参考文献参考文献[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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据中心弱电系统部署协议20242篇
- 生态环境工作交流发言稿
- 门面赠与协议(3篇)
- 店面房屋租赁合同书(30篇)
- 认识地球地形图
- 设备搬运服务合同样本
- 语文学习攻略全解析
- 责任守护坚守婚姻反对出轨
- 质押合同解除的协议格式模板
- 购货合同购销合同的签订流程
- 建筑施工技术交底15篇
- 江苏开放大学2023年秋《组织行为学 060044》第二次作业参考答案
- 接受证据清单
- 磷石膏回填矿坑施工方案
- 办公生活区临建标准化图集
- 【高中地理】地球上的大气单元教学设计【大单元教学】2023-2024学年高一地理(人教版2019必修第一册)
- 喷射砂浆加固施工方案
- 装配式集装箱房屋应用场景分析(图文并茂)
- XX市地下管线普查调研报告
- 《市场营销学》说课课件
- 教育人力资源管理:绩效管理三
评论
0/150
提交评论