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

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

?? 拓?fù)渑判?cpp

?? 介紹了算法基礎(chǔ)
?? CPP
字號(hào):
//* * * * * * * * * * * * * * * * * * * * * * * *
//*CHAPTER          :5  (5_3)                   *
//*PROGRAM          :拓?fù)渑判?     	        *
//*CONTENT          :拓?fù)渑判?                  *
//* * * * * * * * * * * * * * * * * * * * * * * *
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_VERTEX_NUM 20 //圖的最大頂點(diǎn)數(shù)
#define MAX 30       //棧的最大容量
enum BOOL {False,True};
typedef struct ArcNode
{int adjvex;              //該弧所指向的頂點(diǎn)的位置
 struct ArcNode *nextarc; //指向下一條弧的指針
}ArcNode;       //弧結(jié)點(diǎn)
typedef struct
{int indegree[MAX_VERTEX_NUM]; //存放各頂點(diǎn)的入度
 ArcNode* AdjList[MAX_VERTEX_NUM]; //指向第一條依附該頂點(diǎn)的弧的指針
 int vexnum,arcnum;                //圖的當(dāng)前頂點(diǎn)和弧數(shù)
}Graph;
typedef struct    //定義堆棧結(jié)構(gòu)
{int elem[MAX];   //棧區(qū)
 int top;         //棧頂指針
}Stack;
void CreateGraph(Graph &);    //生成圖的鄰接表
BOOL TopologicalSort(Graph);  //進(jìn)行拓?fù)渑判?void FindInDegree(Graph&);    //求圖各頂點(diǎn)的入度
void Initial(Stack &);     //初始化一個(gè)堆棧
BOOL Push(Stack &,int); //將一個(gè)元素入棧
BOOL Pop(Stack&,int &); //將一個(gè)元素出棧
BOOL StackEmpty(Stack); //判斷堆棧是否為空
void main()
{Graph G;  //采用鄰接表結(jié)構(gòu)的圖
 char j='y';
 BOOL temp;
 textbackground(3);  //設(shè)定屏幕顏色
 textcolor(15);
 clrscr();
 //------------------程序解說(shuō)----------------------------
 printf("本程序?qū)⒀菔驹鯓訉?duì)圖進(jìn)行拓?fù)渑判?\n");
 printf("首先輸入圖的頂點(diǎn)數(shù)和弧數(shù).\n格式:頂點(diǎn)數(shù),弧數(shù);例如:4,4\n");
 printf("再輸入各條弧(弧尾,弧頭).\n例如:\n1,2\n1,3\n2,4\n4,3\n");
 printf("程序?qū)?huì)生成一個(gè)圖并對(duì)它進(jìn)行拓?fù)渑判?\n");
 printf("拓?fù)渑判蚪Y(jié)果:1->2->4->3\n");
 //------------------------------------------------------
 while(j!='N'&&j!='n')
      {CreateGraph(G);          //生成鄰接表結(jié)構(gòu)的圖
       temp=TopologicalSort(G); //進(jìn)行拓?fù)渑判?       if(temp==False) printf("該圖有回路!\n");
		 //若返回為False,表明該圖存在有環(huán)路
       else printf("該圖沒有回路!\n");
       printf("拓?fù)渑判蛲戤叄^續(xù)進(jìn)行嗎?(Y/N)");
       scanf(" %c",&j);
     }
}

void CreateGraph(Graph &G)
{//構(gòu)造鄰接表結(jié)構(gòu)的圖G
 int i;
 int start,end;
 ArcNode *s;
 printf("請(qǐng)輸入圖的頂點(diǎn)數(shù)和弧數(shù):");
 scanf("%d,%d",&G.vexnum,&G.arcnum); //輸入圖的頂點(diǎn)數(shù)和弧數(shù)
 for(i=1;i<=G.vexnum;i++) G.AdjList[i]=NULL; //初始化指針數(shù)組
 printf("請(qǐng)輸入各弧, 格式:弧尾,弧頭\n");
 for(i=1;i<=G.arcnum;i++)
   {scanf("%d,%d",&start,&end); //輸入弧的起點(diǎn)和終點(diǎn)
    s=(ArcNode *)malloc(sizeof(ArcNode)); //生成一個(gè)弧結(jié)點(diǎn)
    s->nextarc=G.AdjList[start]; //插入到鄰接表中
    s->adjvex=end;
    G.AdjList[start]=s;
   }
}
BOOL TopologicalSort(Graph G)
{//對(duì)圖G進(jìn)行拓?fù)渑判颍鬐存在回路,返回False,否則返回True
 int i,k;
 int count; //計(jì)數(shù)器
 ArcNode* p;
 Stack S;
 FindInDegree(G); //求出圖中各頂點(diǎn)的入度
 Initial(S);      //堆棧初始化,存放入度為零的頂點(diǎn)
 for(i=1;i<=G.vexnum;i++)
  if(!G.indegree[i]) Push(S,i); //入度為零的頂點(diǎn)入棧
 count=0;     //對(duì)輸出頂點(diǎn)記數(shù)
 printf("拓?fù)渑判?");
 while(!StackEmpty(S))
  {Pop(S,i);  //輸出i號(hào)頂點(diǎn)并記數(shù)
   printf("%d->",i);
   count++;
   for(p=G.AdjList[i];p;p=p->nextarc)
     {k=p->adjvex;       //對(duì)i號(hào)頂點(diǎn)的每個(gè)鄰接頂點(diǎn)的入度減一
      if(!(--G.indegree[k])) Push(S,k); //若入度為零,入棧
     }
  }
 printf("\b\b  \n");
 if(count<G.vexnum) return False; //如輸出頂點(diǎn)數(shù)少于圖中頂點(diǎn)數(shù),則該圖有回路
 else return True;
}
void FindInDegree(Graph &G)
{//求出圖G的各頂點(diǎn)的入度,存放在G.indegree[1..G.vexnum]中
 int i;
 ArcNode* p;
 for(i=1;i<=G.vexnum;i++)
   G.indegree[i]=0; 
 for(i=1;i<=G.vexnum;i++)
    {
     for(p=G.AdjList[i];p;p=p->nextarc)
       G.indegree[p->adjvex]++;  //弧頭頂點(diǎn)的入度加一
    }
}
void Initial(Stack &S)
{S.top=-1;   //棧頂指針初始化為-1
}

BOOL Push(Stack &S,int ch)
{//將元素ch入棧,成功返回True,失敗返回False
 if(S.top>=MAX-1) return False;//判斷是否棧滿
 else {S.top++;               //棧頂指針top加一
       S.elem[S.top]=ch;      //入棧
       return True;
      }
}

BOOL Pop(Stack &S,int &ch)
{//將棧頂元素出棧,成功返回True,并用ch返回該元素值,失敗返回False
 if(S.top<=-1) return False;//判斷是否棧空
 else {S.top--;                                //棧頂指針減一
       ch=S.elem[S.top+1];
       return True;
      }
}
BOOL StackEmpty(Stack S)
{//判斷堆棧是否已空,若空返回True,不空返回False
 if(S.top<=-1) return True;
 else return False;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丰满岳乱妇一区二区三区| 91老司机福利 在线| 久久99最新地址| 国产a精品视频| 欧美无砖专区一中文字| 色综合久久综合| 欧美日韩电影一区| 亚洲国产精品v| 亚洲国产精品一区二区久久恐怖片| 伊人色综合久久天天人手人婷| 亚洲专区一二三| 久久精品国产精品亚洲精品| 丰满岳乱妇一区二区三区| 欧美精品在线视频| 国产精品丝袜久久久久久app| 欧美精品一区二区三| 欧美韩日一区二区三区四区| 亚洲成人一区在线| 日本vs亚洲vs韩国一区三区| 国产成人av电影在线观看| 欧美午夜理伦三级在线观看| 国产精品看片你懂得| 奇米亚洲午夜久久精品| 91蜜桃在线观看| 国产欧美一区二区在线观看| 五月综合激情网| 91小视频在线观看| 中文字幕精品一区二区三区精品| 日韩成人午夜精品| 欧美日韩精品一区二区三区蜜桃 | 免费xxxx性欧美18vr| 成人91在线观看| 国产日产欧美一区| 丰满白嫩尤物一区二区| 日韩视频不卡中文| 蜜桃视频一区二区三区| 91精品国产综合久久福利软件 | 欧美日韩国产天堂| 一区二区三区波多野结衣在线观看| 91成人在线观看喷潮| 日韩不卡一区二区| 国产精品天干天干在线综合| www.久久精品| 免费高清在线视频一区·| 91精品国产综合久久福利| 国产麻豆精品在线观看| 久久久亚洲精品石原莉奈| 国产91精品露脸国语对白| 中文字幕一区二区三区精华液 | 午夜精品视频一区| 国产婷婷色一区二区三区在线| 色综合天天综合网天天看片| 亚洲成人综合在线| 欧美精彩视频一区二区三区| 欧美最新大片在线看| 热久久免费视频| 亚洲精品国产一区二区精华液| 欧美日韩成人在线| 国产99久久久国产精品免费看| 夜夜精品浪潮av一区二区三区 | 欧美国产1区2区| 3751色影院一区二区三区| 91在线看国产| 激情丁香综合五月| 青草av.久久免费一区| 一区二区三区在线看| 亚洲精品一区二区三区蜜桃下载 | 亚洲理论在线观看| 国产片一区二区| 亚洲精品在线观看网站| 欧美一二区视频| 国产精品国产三级国产有无不卡| 精品毛片乱码1区2区3区| 欧美色国产精品| 欧美视频一区二区三区四区| 91在线观看视频| 一本大道久久精品懂色aⅴ | 欧美一卡二卡在线| 日韩精品专区在线影院重磅| 91精品福利在线一区二区三区 | 亚洲同性gay激情无套| 亚洲人精品午夜| 亚洲综合无码一区二区| 婷婷六月综合亚洲| 久久99精品国产| 成人久久18免费网站麻豆| 国产一区中文字幕| 99久久精品免费观看| 欧美做爰猛烈大尺度电影无法无天| 色婷婷综合久久久久中文一区二区| 色94色欧美sute亚洲线路一久| 欧美视频三区在线播放| 精品婷婷伊人一区三区三| 91女神在线视频| 在线播放欧美女士性生活| 成人91在线观看| 99视频在线精品| jlzzjlzz亚洲女人18| 成人精品免费网站| 91免费看`日韩一区二区| 色婷婷av一区二区三区大白胸| 日本韩国视频一区二区| 精品国产乱码久久久久久夜甘婷婷| 久久综合九色综合欧美98| 国产欧美精品国产国产专区| 亚洲欧美一区二区三区孕妇| 亚洲黄色免费网站| 蜜桃久久精品一区二区| 蜜臀a∨国产成人精品| 国产精品自产自拍| 色综合亚洲欧洲| 91 com成人网| 亚洲欧美在线观看| 午夜婷婷国产麻豆精品| 精品一区二区三区免费视频| 激情亚洲综合在线| 在线免费观看视频一区| 国产婷婷一区二区| 国产一区二区精品久久91| 日韩女优毛片在线| 激情欧美一区二区三区在线观看| 欧美亚洲一区二区在线观看| 日韩女优毛片在线| 国产精品毛片大码女人| 老汉av免费一区二区三区| 欧美午夜精品一区二区三区| 中文字幕第一区综合| 日韩av不卡在线观看| 日本韩国精品在线| 国产精品欧美综合在线| 成人午夜视频网站| 中文字幕不卡在线观看| 国产美女精品人人做人人爽| 在线观看视频91| 亚洲精品老司机| 91丨九色丨国产丨porny| 国产日产欧美一区二区视频| 美女视频黄久久| 欧美精选午夜久久久乱码6080| 亚洲视频一区在线观看| 色老头久久综合| 一区二区三区日韩精品视频| 97se亚洲国产综合自在线观| 欧美高清在线一区二区| 国产不卡视频在线观看| 中文字幕制服丝袜成人av | 亚洲午夜久久久久久久久电影网 | 色婷婷久久综合| 亚洲麻豆国产自偷在线| 色综合一区二区| 日本成人超碰在线观看| 欧美蜜桃一区二区三区| 大胆欧美人体老妇| 日本不卡的三区四区五区| 67194成人在线观看| 国产精品综合一区二区三区| 国产精品久久久久久久久晋中 | 日本不卡高清视频| 国产日产欧美一区二区视频| 91色在线porny| 国产一区二区免费在线| 亚洲精品国产一区二区精华液| 日韩视频免费观看高清完整版| 国产一区二区三区免费播放| 天堂va蜜桃一区二区三区 | 国产日韩欧美不卡在线| 欧美精品在线观看播放| 成人av动漫在线| 成人黄色a**站在线观看| 久久精品免费观看| 久久成人久久爱| 亚洲国产综合色| 又紧又大又爽精品一区二区| 久久这里只有精品首页| 日韩欧美精品三级| 久久综合成人精品亚洲另类欧美| 欧美日韩一区国产| 精品视频一区二区不卡| 国产91丝袜在线观看| 精品在线一区二区| 日韩成人午夜电影| 日本欧美肥老太交大片| 亚洲综合一区二区| 亚洲另类春色国产| 怡红院av一区二区三区| 亚洲欧美激情小说另类| 亚洲国产wwwccc36天堂| 亚洲视频一区二区在线观看| 一区二区在线电影| 亚洲大片在线观看| 亚洲第一电影网| 免费成人性网站| 国产乱码精品一区二区三| 99在线热播精品免费| 色域天天综合网| 欧美一区二区三区视频在线| 欧美一区二区啪啪| 亚洲婷婷综合久久一本伊一区| 蜜桃在线一区二区三区| 国产精品18久久久久久久久|