1 / 5
文档名称:

拓扑算法算法实现.docx

格式:docx   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

拓扑算法算法实现.docx

上传人:beny00001 2016/6/20 文件大小:0 KB

下载得到文件列表

拓扑算法算法实现.docx

文档介绍

文档介绍:韩山师范学院实验题目: 拓扑排序算法实现班级: 2015 级软工班作者:黄俊聪#include<iostream> using namespace std; #define MVNum 100// 最大顶点数#define OK 1 #define ERROR 0 typedef int Status; typedef string VerTexType; typedef int OtherInfo; typedef struct ode// 边结点{ int adjvex;// 该边所指向的顶点的位置 struct ode* nextarc;// 指向下一条边的指针 OtherInfo info;// 和边相关的信息}ode; typedef struct VNode// 顶点信息{ VerTexType data; ode* firstarc;// 指向第一条依附该顶点的边的指针}VNode,AdjList[MVNum];//Adjlist 表示邻接表类型 typedef struct { AdjList vertices; int vexnum,um;// 图的当前顶点数}ALGraph; typedef struct StackNode { int data; struct StackNode* next; }StackNode,*LinkStack; Status InitStack(LinkStack& S) { S=NULL; return OK; } Status Push(LinkStack& S,int e) { LinkStack p; p=new StackNode; p->data=e; p->next=S; S=p; return OK; } Status Pop(LinkStack& S,int& e) { LinkStack p; p=new StackNode; if(S==NULL) return ERROR; e=S->data; p=S; S=S->next; delete p; return OK; } Status StackEmpty(LinkStack S) { if(S==NULL) return OK; else return ERROR; } Status LocateVex(ALGraph G,string v) { int i; for(int i=0;i<;i++) if([i].data==v) return i; return ERROR; } Status CreateUDG(ALGraph& G) { ode* p1,*p2; string v1,v2; int i,j; cout<<" 输入总顶点数和总边数: "<<endl; cin>>>>;// 输入总顶点数和总边数 cout<<" 输入各点,构造表头结点表: "<<endl; for(int i=0;i<;i++) { cin>>[i].data;// 输入顶点值 [i].firstarc=NULL;// 初始化表头结点的指针域为 NULL } cout<<" 输入各边,构造邻接表: "<<endl; for(i