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

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

?? prim算法.cpp

?? 用于數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),雙向鏈表,并且用了MFC做圖形界面
?? CPP
字號:
#include <iostream.h>

#define INFINITY INT_MAX                  //最大值:無窮大
#define MAX_VERTEX_NUM 20                 //最大頂點(diǎn)個(gè)數(shù)
#define MAX   100000                      //最大值

typedef float VRType;                      //頂點(diǎn)關(guān)系類型
typedef char VerTexType;                   //頂點(diǎn)類型 

typedef struct
{VRType adj;}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];  //帶權(quán)圖的權(quán)值類型

typedef struct
{char vexs[MAX_VERTEX_NUM];        //頂點(diǎn)向量
 AdjMatrix arcs;                   //鄰接矩陣
 int vexnum;                       //頂點(diǎn)數(shù)
}MGraph;                           //圖的種類標(biāo)志

typedef struct
{
 char adjvex;                        //記錄生成樹頂點(diǎn)集合外各頂點(diǎn)距離集合內(nèi)哪個(gè)頂點(diǎn)最近
 VRType lowcost;                     //存放生成樹頂點(diǎn)集合內(nèi)頂點(diǎn)到生成樹外各頂點(diǎn)的各邊上的當(dāng)前最小權(quán)值
}closedge[MAX_VERTEX_NUM];          //最小生成樹的輔助數(shù)組


void CreateGraph(MGraph &G);            //建立一個(gè)圖G的鄰接矩陣
void MiniSpanTree_PRIM(MGraph G, char u);    //用PRIM算法從第u個(gè)頂點(diǎn)出發(fā)構(gòu)造網(wǎng)G的最小生成樹T,輸出T的各條邊
                                             //記錄從頂點(diǎn)集U到V-U的代價(jià)最小的邊的輔助數(shù)組定義
int LocateVex(MGraph G, char u);   //確定頂點(diǎn)在圖G中的位置
int minimum(closedge close);       //求出當(dāng)前最小的邊所依附的集合V-U中的頂點(diǎn)的位置

void main( void )       
{
 int i, j;
 MGraph G;
 
 CreateGraph(G);                      //建立圖G的鄰接矩陣
 for(i=0; i<G.vexnum; i++)            //輸出圖G的鄰接矩陣
 {
  for(j=0; j<G.vexnum; j++)
  {
   cout<<G.arcs[i][j].adj;            //輸出圖G中各條邊的權(quán)值
   cout<<"	";
  }
  cout<<endl;
 }
 MiniSpanTree_PRIM(G, 'a');            //建立最小生成樹
 cin>>i; 
}


void CreateGraph(MGraph &G)
{
 float weigh;                  //定義權(quán)值類型 
 int i,j;
 int count=0;              //設(shè)立一個(gè)計(jì)數(shù)器,記錄當(dāng)前輸入的邊數(shù)
 char v1,v2;               //定義頂點(diǎn)類型
 
cout<<"請輸入辦公室個(gè)數(shù):"<<endl;
cin>>G.vexnum;                  //輸入頂點(diǎn)數(shù)

cout<<"現(xiàn)在請輸入所有這些辦公室的房間號(以字母a-z表示):";

  for(i=0; i<G.vexnum; i++)          //輸入所有頂點(diǎn)
   cin>>G.vexs[i];
 cout<<endl;
 for(i=0;i<G.vexnum;i++)             //初始化各條邊上的權(quán)值為最大值
   for(j=0;j<G.vexnum;j++)
   G.arcs[i][j].adj=MAX;
	 do                                //構(gòu)造鄰接矩陣
	 { cout<<"請分別輸入兩個(gè)辦公室的房間號&在這兩個(gè)辦公室間布線需要的成本:"<<endl;
		cout<<"提示:為了建成局域網(wǎng),您至少需要"<<G.vexnum-1<<"根接線,請至少輸入"<<G.vexnum-1<<"組房間號碼"<<endl;

    cout<<"請先輸入第一個(gè)辦公室的房間號,以字母表示(a-z)(如果您已經(jīng)輸入完畢所有房間請按#號鍵確認(rèn)):"<<endl;
  cin>>v1;                                                   //輸入一條邊依附的頂點(diǎn)
  cout<<endl<<"請?jiān)佥斎氲诙€(gè)辦公室的房間號,以字母表示(a-z)(如果您已經(jīng)輸入完畢所有房間請按#號鍵確認(rèn)):"<<endl;
  cin>>v2;                                                   //輸入該條邊依附的另一個(gè)頂點(diǎn)
  cout<<endl<<"現(xiàn)在請輸入這兩個(gè)辦公室間布線需要的成本(如果您已經(jīng)輸入完畢所有房間請按0確認(rèn)):";
  cin>>weigh;                                                 //輸入這條邊上的權(quán)值
  cout<<endl;
   i=LocateVex(G,v1);                                      //確定V1和V2在G中的位置
   j=LocateVex(G,v2);
   
  G.arcs[i][j].adj = weigh;                            //邊<v1,v2>的權(quán)值
  G.arcs[j][i].adj = weigh;                           //置<v1,v2>的對稱邊<v2,v1>
  if(weigh!=0&&v1==G.vexs[i]&&v2==G.vexs[j])           //輸入完一組頂點(diǎn),統(tǒng)計(jì)一次當(dāng)前圖G的邊數(shù)
  cout<<endl<<"您已經(jīng)輸入了"<<++count<<"組房間號碼"<<endl<<endl;
 
  else cout<<"您一共輸入了"<<count<<"組房間號碼"<<endl;   //若輸入已經(jīng)進(jìn)行完畢,統(tǒng)計(jì)圖G的總邊數(shù)
	 }
  while(v1!='#'||v2!='#'||weigh!=0);                  //若輸入為進(jìn)行完畢,返回DO語句,繼續(xù)輸入下一組頂點(diǎn)及權(quán)值
 
}

void MiniSpanTree_PRIM(MGraph G,char u)       //構(gòu)造并顯示最小生成樹的PRIM算法
{
 int i,j,k= 0;
 closedge close;
 
 k = LocateVex ( G, u );                   //確定第一個(gè)輸入的頂點(diǎn)在圖G中的位置,并從該頂點(diǎn)出發(fā)開始建立最小生成樹T
 for (j=0; j<G.vexnum; j++ )               //輔助數(shù)組close初始化
 {
  if (j!=k)                               
  {
   close[j].adjvex = G.vexs[k];            
   close[j].lowcost = G.arcs[k][j].adj;    
  }
 }
  close[j].lowcost = MAX;                  //若j對應(yīng)的頂點(diǎn)與第一個(gè)輸入的頂點(diǎn)間沒有邊,則令該邊上的權(quán)值為最大值           
  close[j].adjvex = '\0';                  //同時(shí),令j對應(yīng)的頂點(diǎn)所依附的頂點(diǎn)為\0
  close[k].lowcost = 0;                   //初始,U={u}
  close[k].adjvex = u;
  cout<<"成本最低的接線為:"<<endl;          //輸出成本最低的接線
 for (i = 1; i < G.vexnum; i++)              //選擇其余G.vexnum-1個(gè)頂點(diǎn)
 { 
  k = minimum(close);                     //求出T的下一個(gè)結(jié)點(diǎn):第K頂點(diǎn)

 
  cout<<close[k].adjvex;              //輸出生成樹的邊
  cout<<"---->";
  cout<<G.vexs[k]<<" ";
  cout<<close[k].lowcost<<endl;
  close[k].lowcost = 0;               //第K頂點(diǎn)并入U(xiǎn)集
  for (j=0; j<G.vexnum; j++)
  {
   if (G.arcs[k][j].adj < close[j].lowcost)           //新頂點(diǎn)并入U(xiǎn)后重新選擇最小邊
   {
    close[j].adjvex = G.vexs[k];
    close[j].lowcost = G.arcs[k][j].adj;
   }
  }
 }
}

int LocateVex(MGraph G, char u)                    //確定輸入的頂點(diǎn)在G中的位置
{ int i;
  for(i=0;i<G.vexnum;i++)
  {if(u==G.vexs[i])return i;}         //輸入的頂點(diǎn)u存在于圖G中
  if(i==G.vexnum&&u!='#')             //輸入的頂點(diǎn)u不存在于圖G中,并且輸入還沒有結(jié)束
  {cout<<"您輸入的房間號碼有錯(cuò)!請重新輸入:"<<endl;   //顯示出錯(cuò),并繼續(xù)輸入下一頂點(diǎn)
  return -1;}
  else {cout<<"您已經(jīng)輸入完畢!";       //輸入完畢
	 return -1;}
  }
 



int minimum(closedge close)       //求當(dāng)前最小邊在頂點(diǎn)集V-U中所依附的頂點(diǎn)位置
{
 int i=0, client = MAX, j;
 while(close[i].adjvex != '\0')         //該頂點(diǎn)仍在V-U中
 {
  if (client > close[i].lowcost && close[i].lowcost != 0)   
  {client = close[i].lowcost;           //修改最小權(quán)值
  j = i; }                              //修改最小邊在頂點(diǎn)集V-U中所依附的頂點(diǎn)位置
    i++;}
  return j;
} 


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区视频| 日韩女优电影在线观看| 国产精品二区一区二区aⅴ污介绍| 国产九色sp调教91| 国产精品乱码一区二区三区软件| 粉嫩高潮美女一区二区三区| 国产精品电影一区二区| 欧美丝袜第三区| 青草av.久久免费一区| 欧美精品一区二区三区四区| 成人黄色综合网站| 亚洲1区2区3区视频| 欧美精品一区二区三区视频| 不卡在线观看av| 亚洲一二三区在线观看| 日韩欧美国产wwwww| 成人av在线网| 日韩高清电影一区| 中文字幕制服丝袜一区二区三区| 精品污污网站免费看| 国产一区二区0| 亚洲福利一区二区三区| 国产午夜三级一区二区三| 欧美写真视频网站| 国产91精品免费| 日韩国产欧美一区二区三区| 欧美日韩一区二区在线观看| 亚洲不卡在线观看| 精品成人免费观看| 欧美在线不卡视频| 国产一区二区女| 五月天一区二区三区| 国产日本欧洲亚洲| 欧美一级午夜免费电影| 99久久精品国产毛片| 久久国产精品99精品国产| 亚洲欧美日韩国产手机在线| 欧美tickling网站挠脚心| 在线欧美一区二区| 国产成人av一区二区三区在线 | **性色生活片久久毛片| 欧美一区二区日韩| 欧美亚洲国产怡红院影院| 国产91清纯白嫩初高中在线观看| 三级一区在线视频先锋| 亚洲欧美福利一区二区| 久久久www成人免费无遮挡大片| 欧美日韩在线播放| 色婷婷av久久久久久久| 国产成人综合网站| 久草中文综合在线| 视频精品一区二区| 亚洲国产人成综合网站| 亚洲欧美成人一区二区三区| 国产精品嫩草99a| 久久蜜桃一区二区| 精品国产一区a| 日韩精品一区国产麻豆| 538prom精品视频线放| 欧美色图12p| 欧洲一区二区三区在线| 在线观看网站黄不卡| 一本大道av一区二区在线播放| 国产成人99久久亚洲综合精品| 九色综合狠狠综合久久| 久久精品免费观看| 九九久久精品视频| 久久电影国产免费久久电影| 美女一区二区视频| 精品中文av资源站在线观看| 免费在线观看一区二区三区| 奇米色一区二区三区四区| 美腿丝袜一区二区三区| 韩日av一区二区| 国产一区美女在线| 懂色中文一区二区在线播放| 成人av在线看| 色偷偷88欧美精品久久久| 欧美中文字幕一区| 欧美伦理影视网| 欧美电影免费提供在线观看| 精品国产乱码久久久久久久久| 亚洲精品一区二区三区精华液| 亚洲精品一区二区三区福利 | 6080yy午夜一二三区久久| 欧美撒尿777hd撒尿| 337p亚洲精品色噜噜狠狠| 欧美一区二区三区成人| 久久久久久久综合色一本| 国产精品天美传媒| 亚洲一区二区在线免费看| 亚洲国产精品一区二区www在线 | 久久精品视频一区二区三区| 中文字幕av免费专区久久| 亚洲免费av在线| 五月综合激情婷婷六月色窝| 久久精品国产一区二区三| 国产成人在线影院 | 欧美日韩精品免费| 日韩精品一区二区三区swag | 亚洲一区二区av在线| 日本伊人午夜精品| 国产精品一区一区| 日本久久一区二区| 欧美一二三在线| 亚洲欧洲av另类| 日韩高清一区在线| 成人av网站在线观看| 欧美日韩视频一区二区| 久久九九全国免费| 亚洲国产一区二区三区| 国产一区 二区| 欧美日韩一区二区在线视频| 久久久亚洲欧洲日产国码αv| 亚洲人成精品久久久久| 老司机午夜精品| 在线亚洲精品福利网址导航| 2017欧美狠狠色| 亚洲国产毛片aaaaa无费看| 国产精品自在在线| 3d成人动漫网站| 国产精品久久久久久久第一福利| 视频一区视频二区中文| av在线这里只有精品| 亚洲精品久久嫩草网站秘色| 热久久国产精品| 日本道精品一区二区三区| 精品国产制服丝袜高跟| 亚洲成人av福利| a亚洲天堂av| 久久综合成人精品亚洲另类欧美 | 丰满放荡岳乱妇91ww| 日韩欧美成人一区| 亚洲国产成人91porn| www..com久久爱| 久久久精品天堂| 久久99精品久久久久久动态图| 欧美天堂亚洲电影院在线播放| 日本一区二区成人| 国产一区美女在线| 日韩午夜激情免费电影| 亚洲专区一二三| 色婷婷综合在线| 亚洲素人一区二区| 成人高清免费在线播放| 精品国产免费久久| 日本亚洲免费观看| 欧美日本在线视频| 亚洲午夜精品网| 欧美在线观看一区| 一区二区三区中文免费| 97久久人人超碰| 国产精品沙发午睡系列990531| 国产精选一区二区三区| 精品国产乱码久久| 国产一区二区三区四区五区美女| 欧美一区二区三区爱爱| 日本午夜精品视频在线观看 | 欧美日本在线观看| 亚洲成人精品在线观看| 91黄色免费版| 亚洲午夜精品网| 欧美日韩国产高清一区| 日韩主播视频在线| 3atv一区二区三区| 美女一区二区三区| 久久亚洲综合色一区二区三区| 极品尤物av久久免费看| 精品va天堂亚洲国产| 国产成人亚洲综合a∨婷婷| 国产精品污www在线观看| 成人一区二区视频| 亚洲精品视频观看| 欧美日韩大陆在线| 美女久久久精品| 久久精品夜色噜噜亚洲a∨| 国产高清精品久久久久| 国产精品三级av在线播放| 99精品视频免费在线观看| 亚洲一区在线观看视频| 欧美精品v日韩精品v韩国精品v| 日韩中文字幕1| 日韩区在线观看| 成人一二三区视频| 亚洲日本在线看| 91精品国产综合久久精品麻豆| 美女性感视频久久| 日本欧美加勒比视频| 久久亚洲欧美国产精品乐播 | 91黄色在线观看| 婷婷久久综合九色综合绿巨人| 91精品国产91久久久久久最新毛片| 久久精品理论片| 国产精品色一区二区三区| 欧美这里有精品| 裸体一区二区三区| 国产精品国产馆在线真实露脸| 色综合久久综合网| 精品在线播放免费| 亚洲欧美另类图片小说|