求 数据结构 拓扑排序的代码详解

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:51:16
有关我们数据结构课程设计的,所以很重要,希望有人能详细解释一下代码的意思,越详细越好,最好能到每一句。

因为代码太长,这里发不下,
http://www.bxjsj.net/bbs/viewthread.php?tid=166&page=1&extra=page%3D1

这个里面帖子的附件,解压之后是txt格式的
我们学的数据结构就是C的,目前没办法改其他的……只能看现成的程序读懂就好……

按照你的要求下的程序,自己也复习了一遍,这学期我们也学数据结构,有问题可以继续问哦
#define MAX 20
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int ElemType;
typedef struct biaoNode
{
int xiabiao;//数据域
struct biaoNode *nextbiao;//指针域
}biaoNode;//表结点的定义

typedef struct touNode //头结点
{
int data;//数据域
int indegree;//度数
biaoNode *firstarc;//指针
}touNode,AdjList[MAX];//AdjList[MAX]邻接表存储方式

typedef struct
{
AdjList shuzu;//数组邻接表
int dingdianshu,bianshu;//dingdianshu定点数,bianshu边数
}tu;//图的定义

typedef struct
{
ElemType *base;
ElemType *top;
int stacksize;
}SqStack;//栈,这个你应该很熟悉了~
void creattu(tu *G)//此函数创建图
{
int m, n, i;
biaoNode *p;//表结点指针
printf("input dingdianshu and bianshu:");
scanf("%d%d",&G->dingdianshu,&G->bianshu);//输入节点数和边数
for (i = 1; i <= G->dingdians