欢迎来到天天文库
浏览记录
ID:11070845
大小:29.50 KB
页数:4页
时间:2018-07-09
《图-邻接表-拓扑排序---关键路径》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、////-------------------------------------图的邻接表的建立--拓扑排序---关键路径-------------#include#include#defineMax20 //最大结点数//--------------------------------------邻接表 结构定义------------------------------typedefstructarcnode//---表结点{ intadj; //与之邻接的节点的存放位置 intquan; //结点与邻接结点
2、之间的权值 structarcnode*next; //存放下一个相邻接的结点}arcnode;typedefstructvnode///----头结点{ chardata; //存放结点名称 arcnode*first; //第一个与此节点邻接的结点}vnode,list[Max];typedefstruct/////////----整个结构的定义{ listvertices; //包括表 int ve; //顶点数 int ar; //弧数}map;////---------------------------------图的
3、创建及相关函数-----------------------intlocate(mapp,charu)/////////locate定位函数,返回字符u在图p中的位置{ for(inti=0;i
4、"%c%*c",&p.vertices[i].data); p.vertices[i].first=NULL; }for(intk=0;k
5、.vertices[m1].first; p.vertices[m1].first=z; z->next=zz; z->adj=m2; z->quan=m; }}//----------------------------------------拓扑排序----------------------------intS[Max]; //辅助栈,存放入度为零的点intT[Max]; //栈, 放拓扑序列intls=0; //栈S的长度intl=0; //栈T的长度intindegree[Max];
6、 //各点的入度intve[Max]; //------求关键路径,放结点最早开始时间-----inttuopu(mapp){ for(inti=0;iadj]++; z=z->next;
7、 } } for(i=0;i
此文档下载收益归作者所有