全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#define stack_max_size 100#define stack_extra 10typedef structint *top;int *base;int stacksize;vexstack,*pvexstack;int initstack(vexstack &st)st.base =(int *)malloc(stack_max_size*sizeof(int);if(!st.base )exit(0);st.top =st.base ;st.stacksize =stack_max_size;return 1;int pop(vexstack &st,int &a)if(st.top=st.base)return 0;a=*(-st.top);return 1;int push(vexstack &st,int a)if(st.top -st.base =st.stacksize )st.base =(int*)realloc(st.base ,(stack_max_size+stack_extra)*sizeof(int);if(!st.base )exit(0);st.top=st.base+st.stacksize;st.stacksize+=stack_extra;*st.top+=a;return 1;int destroystack(vexstack &st)free(st.base );return 1;int emptystack(vexstack st)if(st.top =st.base)return 1;else return 0;typedef struct narc int adjvex; int info;narc,*pnarc;typedef struct headvexterint indegree;int kaiguan;int outdegree; char data;pnarc outarc;headvexter,* pheadvexter;typedef structint vexnum;pheadvexter vexs;graph,*pgraph;void initgraph(graph &G)int i=0,j,k=0,n,l=0;char c100;printf(请输入有向图的节点:n); gets(c);while(ci!=0) i+;G.vexnum=i;G.vexs=(pheadvexter)malloc(i+1)*sizeof(headvexter);i=0;while(ci!=0) G.vexsi+1.data =ci;G.vexsi+1.kaiguan=0;i+; n=i;for(j=1;j=n;j+)printf(请输入节点%c的入度:,G.vexsj.data);scanf(%d,&G.vexsj.indegree);printf(请输入节点%c的出度:,G.vexsj.data);scanf(%d,&G.vexsj.outdegree);G.vexsj.outarc=(pnarc)malloc(G.vexsj.outdegree+1)*sizeof(narc);for(i=1;i=G.vexsj.outdegree;i+)printf(%c节点的第%d条弧对应的邻接点所对应的序号为:,G.vexsj.data,i);scanf(%d,&G.vexsj.outarci.adjvex);printf(%c节点的第%d条弧所带的信息为:,G.vexsj.data,i);scanf(%d,&G.);int topologicalorder(graph G,vexstack &s,int *&ve,int &max)int i=1,j,k,count=0;ve=(int*)malloc(G.vexnum+1)*sizeof(int);while(i=(G.vexnum+1)vei+=0; for(i=1;i=G.vexnum;i+) if(G.vexsi.indegree=0)&G.vexsi.kaiguan=0)push(s,i); G.vexsi.kaiguan=1;count+; for(j=1;jvek) vek=vei+G.; max=k; if(!(-G.vexsk.indegree)&G.vexsk.kaiguan=0) push(s,k);G.vexsk.kaiguan=1; count+; G.vexsk.indegree+; if(countG.vexnum )return 0;else return 1;void criticalpath(graph G,vexstack &s,int *date,int max)int i=1,j,k,*vl,dut;vl=(int*)malloc(G.vexnum+1)*sizeof(int);while(i=G.vexnum)vli+=datemax;i=1;while(!emptystack(s)int q=emptystack(s);pop(s,i);int m=*(s.top-1);for(j=1;j=G.vexsi.outdegree;j+)k=G.vexsi.outarcj.adjvex;dut=G.; if(vlk-dutvli)vli=vlk-dut;for(i=1;i=G.vexnum;i+)for(j=1;j%cn,G.vexsi.data,G.,G.vexsk.data);void main()int *a,max=0;graph g;initg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年南京农业大学教师招聘考试真题
- 历年监理工程师考试题库
- 2021年中级职称考试中级会计实务真题及答案
- 2025教师资格证真题试卷+答案
- 全熔化焊接与热切割模拟考试附答案完整版
- 列检值班员高级理论知识试题题库(1184道)
- 2025年吉林货运从业资格证考试试题和答案大全
- 副科级考试试题及答案
- 2025年师德师风及法律法规知识竞赛题库
- 《职业病防治法》试题及答案
- 2025年江苏省公考《申论》(C卷)题及参考答案
- 2025年模拟电子技术考试题库及答案1
- 成都七中万达学校高一上化学半期考试试卷
- 2025医疗机构志愿者服务体系管理与社会责任履行报告
- 江西省九校2025-2026学年高三上学期11月期中考试英语试卷(含答案)
- 【2025年】办公室文员测试题库及参考答案
- 2025年6月江苏扬州经济技术开发区区属国有企业招聘素质测试(初试)笔试考试备考试题及答案解析
- 2025年广东省普通高中学业水平合格性考试英语试题(原卷版)
- 运营管理职业规划
- 2025年船舶工业智能化生产模式研究报告及未来发展趋势预测
- Unit5FunClubsSectionB1a-2b课件人教版七年级英语上册
评论
0/150
提交评论