拓朴排序、用弧表示优先关系的图
快四级了啊,再不过就死人了,烦心着
系里面举行程序设计大赛啊,就快开始了呢,心痒痒,想拼拼
快期末考试了,得看看毛概之类的东东了啊,有点怕死
快换本本了,心里开心呢
静下心来,还是写了个小算法出来
图如下:
程序如下:
#include <iostream.h>
#incldue <stdio.h>
#include <conio.h>
#define MAX 6
void main(){
int Adjvex[MAX][MAX]={{0,1,1,1,0,0}, //初始化AOV
{0,0,0,0,0,0},
{0,1,0,0,1,0},
{0,0,0,0,1,0},
{0,0,0,0,0,0},
{0,0,0,1,1,0}};
int flag[MAX]={0,0,0,0,0,0},m,i,j,out=0; //数组flag[MAX]用来记数
i=0;j=0;
clrscr();
do{
for(j=0;j<MAX;j++) //测试数i的入度是否为0
if(Adjvex[j][i]==0)
flag[i]++;
if(flag[i]==MAX){
printf("%d/t",i+1); //输出这个入度为0的点
out++; //记录下已经输出了一个点
flag[i]=100; //设置flag[i]以免第二轮循环仍然输出
for(m=0;m<MAX;m++)//使已经输出的点i 的出度为0
Adjvex[i][m]=0;
if(out==MAX) //如果每个点都输出过了,刚退出循环
break;
}
else flag[i]=0; //设置flag[i]使下次能正常记数
lp: i=(i+1)%MAX; //循环条件
if(flag[i]==100) //如果此点已经输出过了,刚跳向下一个
goto lp;
}
while(1);
}
文章写完了,怎么这个网页程序又提醒我必须填入文章内容哦,郁闷死了,搞得我每次都白写点东东上