Topological sort &&Active On vertex Network

拓朴排序、用弧表示优先关系的图

快四级了啊,再不过就死人了,烦心着

系里面举行程序设计大赛啊,就快开始了呢,心痒痒,想拼拼

快期末考试了,得看看毛概之类的东东了啊,有点怕死

快换本本了,心里开心呢

静下心来,还是写了个小算法出来

图如下:

 程序如下:

#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);
}

 

 文章写完了,怎么这个网页程序又提醒我必须填入文章内容哦,郁闷死了,搞得我每次都白写点东东上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值