黄色三级不卡在线观看-日本免费视频中文字幕-久久精品一区二区三区91-丝袜视频日本成人午夜视频-少妇的玉足让我爽翻天-亚洲av中文字字幕乱码综合-在线免费亚洲精品视频-九九精品在线一区区-欧美日韩一区二区三区内射

學歷改變命運
24小時客服:4008135555/010-82335555
當前位置:首頁 > 筆記串講 > 計算機應用專業(yè)數(shù)據(jù)結(jié)構(gòu)上機考試輔導(2)

計算機應用專業(yè)數(shù)據(jù)結(jié)構(gòu)上機考試輔導(2)

2006年06月20日    來源:北京自考熱線   字體:   打印

  編一C程序,它能根據(jù)讀入的數(shù)據(jù)構(gòu)造有向圖G,并輸出G的DFS遍歷序列(從V0開始),圖的輸入形式為n V0 Vi0 V1 Vi1 V2 Vi2……Vi Vin -1 -1(-1,-1為輸入結(jié)束標記,其余的值都>=0且<n),它們都是整數(shù),且100>n>0.

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e3.exe)。

#include <stdio.h> 
typedef enum {False,True} Boolean; 

int G[100][100]; 
int n; 

void CreatG() /*建立圖的鄰接矩陣G[][]*/ 
{int i,j; 
printf("Input the number of the node:"); 
scanf("%d",&n); 
printf("\n"); 
for (i=0;i<n;i++) 
for (j=0;j<n;j++) 
 G[i][j]=0; 
do 
{ scanf("%d %d",&i,&j); 
G[i][j]=1; 
}while ((i!=-1)&&(j!=-1)); 
} 

void TopSort() /*拓撲排序,輸出拓撲序列*/ 
{ int i,j; 
int degree[100]; /*按照無前驅(qū)頂點優(yōu)先思想,degree[]存放個節(jié)點的入度.*/ 
Boolean visited[100],flag=True; 
printf("The Topolgical Order as follow:"); 
for (i=0;i<n;i++) 
{ degree[i]=0; 
visited[i]=False; 
} 
printf("\n"); 
while(flag==True) 
{ 
for (i=0;i<n;i++) 
for (j=0;j<n;j++) 
degree[i]=G[j][i]+degree[i]; 
i=0; 
while ((i<n)&&(degree[i]!=0)||visited[i]==True) i++; /*更先輸出入度為0的頂點.*/ 
if (i<n) /*所有節(jié)點均已輸出結(jié)束,否則說明存在環(huán),無拓撲序列*/ 
{printf(" %d",i); 
visited[i]=True; 
for(j=0;j<n;j++) 
 {G[i][j]=0; degree[j]=0;} 
} 
else flag=False; 
} 
} 

main() 
{ CreatG(); 
TopSort(); 
}

自考交流群

掃碼領(lǐng)取試題答案及解析