熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

計算機應用專業數據結構上機考試輔導

2013-11-15 15:46:09  來源: 數據結構 

  編一C程序它能根據讀入的數據構造有向圖G並輸出G的DFS遍歷序列(從V開始)圖的輸入形式為n V Vi V Vi V Vi……Vi Vin (為輸入結束標記其余的值都>=n>

  (注程序的可執行文件名必須是 eexe)

  #include

  typedef enum {FalseTrue} Boolean;

  int G[][];

  int n;

  void CreatG() /*建立圖的鄰接矩陣G[][]*/

  {int ij;

  printf(Input the number of the node:);

  scanf(%d&n);

  printf(\n);

  for (i=;i

  for (j=0;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]; /*按照無前驅頂點優先思想,degree[]存放個節點的入度.*/

  Boolean visited[100],flag=True;

  printf("The Topolgical Order as follow:");

  for (i=0;i

  { degree[i]=0;

  visited[i]=False;

  }

  printf("\n");

  while(flag==True)

  {

  for (i=0;i

  for (j=0;j

  degree[i]=G[j][i]+degree[i];

  i=0;

  while ((i

  if (i

  {printf(" %d",i);

  visited[i]=True;

  for(j=0;j

  {G[i][j]=0; degree[j]=0;}

  }

  else flag=False;

  }

  }

  main()

  { CreatG();

  TopSort();

  }


From:http://tw.wingwit.com/Article/program/sjjg/201311/23922.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.