亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 圖的遍歷.c

?? 222 2分別通過深度和廣度對(duì)圖進(jìn)行遍歷
?? C
字號(hào):
/* ======================================== */
/*              圖形的遍歷                  */
/* ======================================== */
#include <stdlib.h>
#define MAXQUEUE 70               /* 佇列的最大容量       */

struct node                       /* 圖形頂點(diǎn)結(jié)構(gòu)宣告     */
{
   int vertex;                    /* 頂點(diǎn)資料             */
   struct node *nextnode;         /* 指下一頂點(diǎn)的指標(biāo)     */
};
typedef struct node *graph;       /* 圖形的結(jié)構(gòu)新型態(tài)     */
struct node head[61];              /* 圖形頂點(diǎn)結(jié)構(gòu)數(shù)組     */
int visited[61];                   /* 遍歷記錄數(shù)組         */

int queue[MAXQUEUE];              /* 佇列的數(shù)組宣告       */
int front = -1;                   /* 佇列的前端           */
int rear = -1;                    /* 佇列的后端           */

/* ---------------------------------------- */
/*  建立圖形                                */
/* ---------------------------------------- */
void creategraph(int *node,int num)
{
   graph newnode;                 /* 新頂點(diǎn)指標(biāo)           */
   graph ptr;
   int from;                      /* 邊線的起點(diǎn)           */
   int to;                        /* 邊線的終點(diǎn)           */
   int i;

   for ( i = 0; i < num; i++ )    /* 讀取邊線的回路       */
   {
      from = node[i*2];           /* 邊線的起點(diǎn)           */
      to = node[i*2+1];           /* 邊線的終點(diǎn)           */
      /* 建立新頂點(diǎn)記憶體 */
      newnode = ( graph ) malloc(sizeof(struct node));
      newnode->vertex = to;       /* 建立頂點(diǎn)內(nèi)容         */
      newnode->nextnode = NULL;   /* 設(shè)定指標(biāo)初值         */
      ptr = &(head[from]);        /* 頂點(diǎn)位置             */
      while ( ptr->nextnode != NULL ) /* 遍歷至鏈表尾     */
         ptr = ptr->nextnode;         /* 下一個(gè)頂點(diǎn)       */
      ptr->nextnode = newnode;        /* 插入結(jié)尾         */
   }
}

/* ---------------------------------------- */
/*  佇列資料的存入                          */
/* ---------------------------------------- */
int enqueue(int value)
{
   if ( rear >= MAXQUEUE )        /* 檢查佇列是否全滿     */
      return -1;                  /* 無法存入             */
   rear++;                        /* 后端指標(biāo)往前移       */
   queue[rear] = value;           /* 存入佇列             */
}

/* ---------------------------------------- */
/*  佇列資料的取出                          */
/* ---------------------------------------- */
int dequeue()
{
   if ( front  == rear )          /* 檢查佇列是否是空     */
      return -1;                  /* 無法取出             */
   front++;                       /* 前端指標(biāo)往前移       */
   return queue[front];           /* 佇列取出             */
}

/* ---------------------------------------- */
/*  圖形的廣度優(yōu)先搜尋法                    */
/* ---------------------------------------- */
void bfs(int current)
{
   graph ptr;
0
   /* 處理第一個(gè)頂點(diǎn) */
   enqueue(current);              /* 將頂點(diǎn)存入佇列       */
   visited[current] = 1;          /* 記錄已遍歷過         */
   printf("[%d]     ",current);   /* 印出遍歷頂點(diǎn)值       */
   while ( front != rear )        /* 佇列是否是空的       */
   {
      current = dequeue();        /* 將頂點(diǎn)從佇列取出     */
      ptr = head[current].nextnode;   /* 頂點(diǎn)位置         */
      while ( ptr != NULL )           /* 遍歷至鏈表尾     */
      {
         if ( visited[ptr->vertex] == 0 ) /* 如過沒遍歷過 */
         {
            enqueue(ptr->vertex);     /* 遞回遍歷呼叫     */
            visited[ptr->vertex] = 1; /* 記錄已遍歷過     */
            /* 印出遍歷頂點(diǎn)值 */
     printf("[%d]    ",ptr->vertex);
         }
         ptr = ptr->nextnode;     /* 下一個(gè)頂點(diǎn)           */
      }
   }
}

/* ---------------------------------------- */
/*  圖形的深度優(yōu)先搜尋法                    */
/* ---------------------------------------- */
void dfs(int current)
{
   graph ptr;

   visited[current] = 1;          /* 記錄已遍歷過       */
   printf("[%d]    ",current);   /* 印出遍歷頂點(diǎn)值     */
   ptr = head[current].nextnode;  /* 頂點(diǎn)位置           */
   while ( ptr != NULL )          /* 遍歷至鏈表尾       */
   {
      if ( visited[ptr->vertex] == 0 )  /* 如過沒遍歷過 */
         dfs(ptr->vertex);              /* 遞回遍歷呼叫 */
      ptr = ptr->nextnode;              /* 下一個(gè)頂點(diǎn)   */
   }
}

/* ---------------------------------------- */
/*  主程式: 建立圖形后,將遍歷內(nèi)容印出.      */
/* ---------------------------------------- */
void main()
{clrscr();

while(1)
{
   char c,a;
   graph ptr;
   int i;
   int node[60][2] = { {1,10}, {10, 1},  /* 邊線數(shù)組       */
         {2, 10}, {10, 2},
         {2, 3}, {3, 2},
         {3, 4}, {4, 3},
         {3, 12}, {12, 3},
         {4, 13}, {13, 4},
         {4, 5}, {5, 4},
         {5, 6}, {6, 5},
         {5, 7}, {7, 5},
         {7, 8}, {8, 7},
         {9, 10}, {10, 9},
         {10, 11}, {11, 10},
         {11, 14}, {14, 11},
         {11, 12}, {12, 11},
         {12, 15}, {15, 12},
         {12, 13}, {13, 12},
         {13, 16}, {16, 13},
         {14, 17}, {17, 14},
         {14, 18}, {18, 14},
         {15, 19}, {19, 15},
         {16, 20}, {20, 16},
         {17, 18}, {18, 17},
         {18, 23}, {23, 18},
         {18, 19}, {19, 18},
         {19, 23}, {23, 19},
         {19, 24}, {24, 19},
         {19, 20}, {20, 19},
         {20, 21}, {21, 20},
         {22, 23}, {23, 22},
         {24, 25}, {25,24}
         };
clrscr();
printf("\n\n\n");
printf("/*------------------------------------------------------*/\n");
printf("/*                 歡 迎 使 用 本 程 序                 */\n");
printf("/*------------------------------------------------------*/\n");
printf("      本 程 序 是 有 關(guān) 圖 的 遍 歷 的 算 法 演 示,\n");
printf("如 果 有 不 足 之 處 敬 請(qǐng) 原 諒!\n\n");
printf("請(qǐng) 問 你 是 否 要 運(yùn) 行 以 下 的 程 序:\n\n");
printf("   圖 的 深 度 遍 歷 和 廣 度 遍 歷? Y/N?\n");
c=getch();
if(c!='y'&&'Y')
exit(0);
 clrscr();

printf("\n\n");
printf("請(qǐng) 注 意 以 下 為 各 城 市 的 代 碼:\n\n");

printf("1:烏魯木齊; 2:呼和浩特; 3:北京; 4:天津; 5:沈陽; \n");
printf("6:大連; 7:長(zhǎng)春; 8:哈爾濱; 9:西寧; 10:蘭州;\n");
printf("11:西安; 12:鄭州; 13:徐州; 14:成都; 15:武漢; \n");
printf("16:上海; 17:昆明; 18:貴陽; 19:株州; 20:南昌;\n");
printf("21:福州; 22:南寧; 23:柳州; 24:廣州; 25:深圳.\n");

   for (i=1;i<=25;i++ )
   {
      head[i].vertex=i;         /* 設(shè)定頂點(diǎn)值           */
      head[i].nextnode=NULL;    /* 清除圖形指標(biāo)         */
      visited[i]=0;             /* 設(shè)定遍歷初值         */
   }
   creategraph(node,60);          /* 建立圖形             */
   printf("圖 形 的 鄰 接 鏈 表 內(nèi) 容:\n");
   for (i=1;i<=25;i++)
   {  if(i%3==0)printf("\n");
      printf("頂點(diǎn)%d=>",head[i].vertex); /* 頂點(diǎn)值       */
      ptr=head[i].nextnode;             /* 頂點(diǎn)位置     */
      while(ptr!=NULL)       /* 遍歷至鏈表尾         */
      {
  printf("%d  ",ptr->vertex);  /* 印出頂點(diǎn)內(nèi)容     */
  ptr=ptr->nextnode;         /* 下一個(gè)頂點(diǎn)       */
      }
   }
printf("\n\n");
printf("請(qǐng) 選 擇 你 需 要 的 操 作\n");
printf("1、圖形的廣度優(yōu)先遍歷請(qǐng)輸入:'g'或'G'\n");
printf("2、圖形的深度優(yōu)先遍歷請(qǐng)輸入:'s'或'S'\n");
 c=getch();
  switch(c)
{
  case'g':case'G':
   printf("\n請(qǐng) 你 輸 入 你 需 要 的 起 始 頂 點(diǎn):\n");
   scanf("%d",&i);
   clrscr();
   printf("\n\n");
   printf("請(qǐng) 注 意 以 下 為 各 城 市 的 代 碼:\n\n");
   printf("1:烏魯木齊; 2:呼和浩特; 3:北京; 4:天津; 5:沈陽; \n");
   printf("6:大連; 7:長(zhǎng)春; 8:哈爾濱; 9:西寧; 10:蘭州;\n");
   printf("11:西安; 12:鄭州; 13:徐州; 14:成都; 15:武漢; \n");
   printf("16:上海; 17:昆明; 18:貴陽; 19:株州; 20:南昌;\n");
   printf("21:福州; 22:南寧; 23:柳州; 24:廣州; 25:深圳.\n");

   printf("圖  形  的  廣  度  優(yōu)  先  遍  歷  的  頂  點(diǎn)  內(nèi)  容:\n");
   bfs(i);                        /* 印出遍歷過程         */
   printf("\n");     /*     換行      */
   break;
 case's':case'S':
    printf("\n請(qǐng) 輸 入 你 需 要 的 起 始 頂 點(diǎn):\n");
    scanf("%d",&i);
    clrscr();
   printf("\n\n");
    printf("請(qǐng) 注 意 以 下 為 各 城 市 的 代 碼:\n\n");
    printf("1:烏魯木齊; 2:呼和浩特; 3:北京; 4:天津; 5:沈陽; \n");
    printf("6:大連; 7:長(zhǎng)春; 8:哈爾濱; 9:西寧; 10:蘭州;\n");
    printf("11:西安; 12:鄭州; 13:徐州; 14:成都; 15:武漢; \n");
    printf("16:上海; 17:昆明; 18:貴陽; 19:株州; 20:南昌;\n");
    printf("21:福州; 22:南寧; 23:柳州; 24:廣州; 25:深圳.\n");

    printf("圖  形  的  深  度  優(yōu)  先  遍  歷  的  頂  點(diǎn)  內(nèi)  容:\n");
    dfs(i);                        /* 印出遍歷過程       */
    printf("\n");                  /* 換行               */
     break;
}
printf("\n請(qǐng) 問 你 是 否 要 繼 續(xù):y/n");
a=getch();
if(a!='y'&&'Y')
exit(0);
}
}

 

 

 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产iv一区二区三区| 国产精品18久久久久| 蜜臀av一区二区| 国产精品一品视频| 欧美撒尿777hd撒尿| 欧美激情综合五月色丁香| 日韩综合在线视频| 99精品视频一区| 久久精品亚洲乱码伦伦中文| 亚洲妇熟xx妇色黄| 91美女片黄在线观看91美女| 久久看人人爽人人| 国产视频一区二区在线| 日韩三级伦理片妻子的秘密按摩| 久久美女艺术照精彩视频福利播放| 亚洲在线视频网站| 91麻豆国产精品久久| 国产精品午夜春色av| 国产精品一区一区三区| 欧美一区二区免费| 视频精品一区二区| 欧美日本在线看| 亚洲永久免费视频| 色综合久久中文字幕| 亚洲欧洲另类国产综合| 福利一区二区在线| 久久你懂得1024| 国产老肥熟一区二区三区| 日韩欧美国产综合在线一区二区三区 | 成人动漫一区二区在线| 久久久久久一级片| 精品在线观看视频| 日韩精品欧美成人高清一区二区| 99re免费视频精品全部| 国产精品久久久久aaaa| 成人永久看片免费视频天堂| 国产欧美久久久精品影院| 国产麻豆午夜三级精品| 精品国产乱码久久久久久蜜臀| 欧美aaa在线| 久久男人中文字幕资源站| 黑人巨大精品欧美黑白配亚洲| 精品电影一区二区三区| 国产精品一区在线观看乱码 | 亚洲免费av高清| 99久久综合国产精品| 国产精品久久久久精k8| 91国在线观看| 亚洲不卡一区二区三区| 欧美福利视频导航| 国产精品久久精品日日| 国产精品视频一二三| 国产69精品久久99不卡| 成人欧美一区二区三区在线播放| 91亚洲国产成人精品一区二区三| 亚洲一区中文在线| 日韩一区二区影院| 国产一区二区福利视频| 成人欧美一区二区三区白人| 在线看不卡av| 激情欧美一区二区| 亚洲日本在线天堂| 91精品国产乱码| 国产精品88888| 一区二区久久久久久| 91精品国产91热久久久做人人| 国产成人激情av| 亚洲成人自拍一区| 国产日韩成人精品| 欧美三级资源在线| 成人网在线播放| 日一区二区三区| 中文字幕一区二区三区在线不卡| 美腿丝袜亚洲色图| 欧美曰成人黄网| 免费人成在线不卡| 亚洲欧美视频一区| 精品久久国产老人久久综合| 91视视频在线直接观看在线看网页在线看 | 日韩黄色在线观看| 国产精品传媒入口麻豆| 欧美v亚洲v综合ⅴ国产v| 91丨九色porny丨蝌蚪| 精品一区二区三区在线播放视频 | 亚洲一区视频在线| 久久毛片高清国产| 制服丝袜在线91| 91在线视频观看| 国产在线一区观看| 日本免费新一区视频| 亚洲色大成网站www久久九九| 精品美女一区二区| 亚洲成人资源在线| 中文字幕中文字幕一区| 日韩一区二区电影| 在线观看亚洲一区| 成人av影视在线观看| 国产一区二区精品在线观看| 日日夜夜精品视频免费| 亚洲精品久久久久久国产精华液| 久久精品亚洲一区二区三区浴池| 欧美一区二区三区免费视频| 在线精品视频一区二区三四| caoporn国产精品| 国产91丝袜在线观看| 国产一二精品视频| 国产一区二区免费看| 蜜臀精品久久久久久蜜臀| 日本不卡中文字幕| 日本一不卡视频| 日本aⅴ免费视频一区二区三区 | 色综合天天做天天爱| 成人不卡免费av| 日本二三区不卡| 亚洲精品伦理在线| 国产精品网站导航| 国产日韩三级在线| 国产日韩一级二级三级| 国产欧美日韩精品一区| 国产欧美日韩激情| 国产精品久久久久久久久免费相片| 欧美国产一区在线| 最新成人av在线| 一区2区3区在线看| 午夜精品久久久久久久| 午夜欧美电影在线观看| 日本一道高清亚洲日美韩| 热久久久久久久| 国产99精品在线观看| av在线不卡网| 精品婷婷伊人一区三区三| 欧美久久高跟鞋激| 欧美mv日韩mv国产| 国产精品乱人伦| 亚洲主播在线播放| 久久99精品网久久| 国产成人亚洲综合a∨婷婷图片| 国产suv精品一区二区6| 色综合久久中文字幕综合网| 欧美日韩免费视频| 在线观看日韩国产| 色狠狠色噜噜噜综合网| 欧美日韩一区久久| 日韩视频在线观看一区二区| 久久久国产一区二区三区四区小说| 国产日韩欧美一区二区三区乱码 | 亚洲高清在线视频| 美日韩一区二区| 懂色av一区二区三区免费观看| 91女人视频在线观看| 91麻豆精品国产91久久久资源速度 | 国产三级欧美三级| 亚洲综合一二区| 精品综合久久久久久8888| 不卡的av中国片| 日韩三级精品电影久久久| 免费在线成人网| 一区二区三区久久久| 日本成人在线看| 成人精品小蝌蚪| 日韩欧美中文字幕精品| 亚洲婷婷综合色高清在线| 麻豆国产91在线播放| 91亚洲精品乱码久久久久久蜜桃| 91精品国产一区二区| 亚洲男人天堂一区| 国产寡妇亲子伦一区二区| 欧美精品v日韩精品v韩国精品v| 国产精品久久久久久一区二区三区| 性欧美疯狂xxxxbbbb| 99精品偷自拍| 久久久久久亚洲综合影院红桃| 五月激情综合色| 色婷婷一区二区三区四区| 国产视频一区二区在线| 免费人成精品欧美精品 | 91在线视频免费91| 久久综合狠狠综合| 青青草伊人久久| 欧美日韩在线播放一区| 午夜视黄欧洲亚洲| 中文字幕不卡在线播放| 日本伊人色综合网| 在线观看日韩精品| 亚洲欧美国产三级| 成人黄色免费短视频| 精品国产1区2区3区| 日韩国产欧美在线观看| 欧美日韩一区中文字幕| 亚洲精品乱码久久久久| 91视频在线观看| 国产精品初高中害羞小美女文| 国产suv一区二区三区88区| 精品久久一区二区| 麻豆成人av在线| 欧美精品一区二区三区蜜臀| 捆绑变态av一区二区三区 | 成人国产一区二区三区精品| 亚洲精品在线免费播放| 国模一区二区三区白浆|