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

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

?? graph0.cpp

?? 數(shù)據(jù)結(jié)構(gòu)的c++實(shí)現(xiàn),源代碼全部在C++builder中運(yùn)行.第六部分
?? CPP
字號(hào):
//圖的相關(guān)運(yùn)算的實(shí)現(xiàn)graph0.cpp
#include"graph0.h"
//構(gòu)造函數(shù),初始化圖的鄰接矩陣
AdjMatrix::AdjMatrix(int n,int k2)
{int i,j;
 if(k2==0){//初始化無(wú)(有)向無(wú)權(quán)圖
  for(i=0;i<n;i++)
   for(j=0;j<n;j++)
    GA[i][j]=0;}
 else {//初始化無(wú)(有)向有權(quán)圖
  for(i=0;i<n;i++)
   for(j=0;j<n;j++)
    if(i==j) GA[i][j]=0;
    else GA[i][j]=MaxValue;}
 size=numE=0;
}
//建立圖的鄰接矩陣
void AdjMatrix::CreateMatrix(int n,int k1,int k2,RCW r[])
//k1為0則無(wú)向否則為有向,k2為0則無(wú)權(quán)否則為有權(quán)
{int i,j,k,e,w;
 cout<<"輸入圖的總邊數(shù):";
   cin>>e;
 if(k1==0 && k2==0) { //建立無(wú)向無(wú)權(quán)圖
  cout<<"輸入"<<e<<"條無(wú)向無(wú)權(quán)邊的起點(diǎn)和終點(diǎn)序號(hào)!"<<endl;
  for(k=1; k<=e; k++) {
   cin>>i>>j;
   Check(n,i,j);
   GA[i][j]=GA[j][i]=1;}
  }
 else if(k1==0 && k2!=0) { //建立無(wú)向有權(quán)圖
   cout<<"輸入"<<e<<"條無(wú)向帶權(quán)邊的起點(diǎn)和終點(diǎn)序號(hào)及權(quán)值!"<<endl;
   for(k=0; k<e; k++) {
    i=r[k].row;j=r[k].col;w=r[k].weight;
    //cin>>i>>j>>w;
    Check(n,i,j);
    GA[i][j]=GA[j][i]=w;}
  }
  else if(k1!=0 && k2==0) { //建立有向無(wú)權(quán)圖
    cout<<"輸入"<<e<<"條有向無(wú)權(quán)邊的起點(diǎn)和終點(diǎn)序號(hào)!"<<endl;
    for(k=1; k<=e; k++) {
     cin>>i>>j;
     Check(n,i,j);
     GA[i][j]=1;}
  }
  else if(k1!=0 && k2!=0) { //建立有向有權(quán)圖
    cout<<"輸入"<<e<<"條有向有權(quán)邊的起點(diǎn)和終點(diǎn)序號(hào)及權(quán)值!"<<endl;
    for(k=0; k<e; k++) {
     i=r[k].row;j=r[k].col;w=r[k].weight;
     //cin>>i>>j>>w;
     Check(n,i,j);
     GA[i][j]=w;}}
  cout<<"創(chuàng)建后的鄰接矩陣:\n";   
  for(i=0;i<n;i++)
  {for(j=0;j<n;j++)
    cout<<setw(4)<<GA[i][j];
   cout<<endl;}
}
//從初始點(diǎn)vi出發(fā)深度優(yōu)先搜索由鄰接矩陣表示的圖
void AdjMatrix::dfsMatrix(bool*& visited,int i,int n,int k2)
{cout<<g[i]<<':'<<i<<"  ";
 visited[i]=true;        //標(biāo)記vi已被訪問過
 for(int j=0; j<n; j++)  //依次搜索vi的每個(gè)鄰接點(diǎn)
  if(k2==0)
   {if(i!=j&&GA[i][j]!=0&&!visited[j])
     dfsMatrix(visited,j,n,k2);}
  else
   if(i!=j&&GA[i][j]!=MaxValue&&!visited[j])
     dfsMatrix(visited,j,n,k2);
}
//從初始點(diǎn)vi出發(fā)廣度優(yōu)先搜索由鄰接矩陣表示的圖
void AdjMatrix::bfsMatrix(bool*& visited,int i,int n,int k2)
{const int MaxLength=30;
 //定義一個(gè)隊(duì)列q,其元素類型應(yīng)為整型
 int q[MaxLength]={0};
 //定義隊(duì)首和隊(duì)尾指針
 int front=0,rear=0;
 //訪問初始點(diǎn)vi
 cout<<g[i]<<':'<<i<<"  ";
 //標(biāo)記初始點(diǎn)vi已訪問過
 visited[i]=true;
  //將已訪問過的初始點(diǎn)序號(hào)i入隊(duì)
 q[++rear]=i;
  //當(dāng)隊(duì)列非空時(shí)進(jìn)行循環(huán)處理
 while(front!=rear) {
  //刪除隊(duì)首元素,第一次執(zhí)行時(shí)k的值為i
  front=(front+1)%MaxLength;
  int k=q[front];
  //依次搜索vk的每一個(gè)可能的鄰接點(diǎn)
  for(int j=0;j<n;j++)
   if(k2==0)
    {if(k!=j&&GA[k][j]!=0&&!visited[j])
     {//訪問一個(gè)未被訪問過的鄰接點(diǎn)vj
      cout<<g[j]<<':'<<j<<"  ";
      visited[j]=true;     //標(biāo)記vj已訪問過
      rear=(rear+1)%MaxLength;//頂點(diǎn)序號(hào)j入隊(duì)
      q[rear]=j;
     }
    }
   else
    if(k!=j&&GA[k][j]!=MaxValue&&!visited[j])
     {//訪問一個(gè)未被訪問過的鄰接點(diǎn)vj
      cout<<g[j]<<':'<<j<<"  ";
      visited[j]=true;   //標(biāo)記vj已訪問過
      rear=(rear+1)%MaxLength;//頂點(diǎn)序號(hào)j入隊(duì)
      q[rear]=j;
     }
}}
//檢查輸入的邊序號(hào)是否越界,若越界則重輸
void AdjMatrix::Check(int n,int& i,int& j)
{while(1) {
  if(i<0||i>=n||j<0||j>=n)
    cout<<"輸入有誤,請(qǐng)重輸!";
  else return;
  cin>>i>>j;
 }
}
//由圖的鄰接矩陣得到圖的鄰接表
void AdjMatrix::graphChange(adjlist &GL,int n,int k2)
{int i,j;
 if(k2==0)
 {for(i=0;i<n;i++){
  for(j=0;j<n;j++)
    if(GA[i][j]!=0) {
     edgenode* p=new edgenode;
     p->adjvex=j;
     p->next=GL[i];GL[i]=p;
     cout<<'('<<i<<','<<p->adjvex<<") ";}
  cout<<endl;}}
 else {
  for(i=0;i<n;i++){
   for(j=0;j<n;j++)
    if(GA[i][j]!=0 && GA[i][j]!=MaxValue) {
     edgenode* p=new edgenode;
     p->adjvex=j;p->weight=GA[i][j];
     p->next=GL[i];GL[i]=p;
     cout<<'('<<i<<','<<p->adjvex<<','<<p->weight<<") ";}
   cout<<endl;}
}}
//創(chuàng)建圖
void AdjMatrix::Creatgraph(int n,int e,RCW r[])
{int i,k;
 for(i=0;i<n;i++) InsertV('A'+i,i);
 for(k=0;k<e;k++)
   InsertEdge(r[k].row,r[k].col,r[k].weight);
}
//取頂點(diǎn)i的值
char AdjMatrix::GetValue(const int i)
{if(i<0||i>size)
  {cerr<<"參數(shù)i越界!\n";exit(1);}
 return g[i];
}
//取弧<v1,v2>的權(quán)
int AdjMatrix::GetWeight(const int v1,const int v2)
{if(v1<0||v1>size||v2<0||v2>size)
  {cerr<<"參數(shù)v1或v2越界!\n";exit(1);}
 return GA[v1][v2]; 
}
//在位置pos處插入頂點(diǎn)V
void AdjMatrix::InsertV(const char &V,int pos)
{int i;
 if(size==MaxV)
  {cerr<<"表已滿,無(wú)法插入!\n";exit(1);}
 if(pos<0||pos>size)
  {cerr<<"參數(shù)pos越界!\n";exit(1);}
 for(i=size;i>pos;i--) g[i]=g[i-1];
 g[pos]=V;
 size++; 
}
//插入弧<v1,v2>,權(quán)為weight
void AdjMatrix::InsertEdge(const int v1,const int v2,int weight)
{if(v1<0||v1>size||v2<0||v2>size)
  {cerr<<"參數(shù)v1或v2越界!\n";exit(1);}
 GA[v1][v2]=weight;
 numE++; 
}
//刪除頂點(diǎn)v與頂點(diǎn)v相關(guān)的所有邊
char AdjMatrix::DeleteVE(const int v)
{for(int i=0;i<size;i++)
  for(int j=0;j<size;j++)
   if((i==v||j==v)&&GA[i][j]>0&&GA[i][j]<MaxValue)
    {GA[i][j]=MaxValue;
     numE--;}
 if(size==0)
  {cerr<<"表已空,無(wú)元素可刪!\n";exit(1);}
 if(v<0||v>size-1)
  {cerr<<"參數(shù)v越界!\n";exit(1);}
 char temp=g[v];
 for(int i=v;i<size-1;i++) g[i]=g[i+1];
 size--;
 g[size]='\0';
 return temp;
}
//刪除弧<v1,v2>
void AdjMatrix::DeleteEdge(const int v1,const int v2)
{if(v1<0||v1>size||v2<0||v2>size||v1==v2)
  {cerr<<"參數(shù)v1或v2出錯(cuò)!\n";exit(1);}
 GA[v1][v2]=MaxValue;
 numE--;
}
//對(duì)非連通圖進(jìn)行深度優(yōu)先搜索
void AdjMatrix::dfsMatrix(int n,int k2)
{bool *vis=new bool[NumV()];
 for(int i=0;i<NumV();i++) vis[i]=false;
 for(int i=0;i<NumV();i++)
  if(!vis[i]) dfsMatrix(vis,i,n,k2);
 delete []vis;
}
//對(duì)非連通圖進(jìn)行廣度優(yōu)先搜索
void AdjMatrix::bfsMatrix(int n,int k2)
{bool *vis=new bool[NumV()];
 for(int i=0;i<NumV();i++) vis[i]=false;
 for(int i=0;i<NumV();i++)
  if(!vis[i]) bfsMatrix(vis,i,n,k2);
 delete []vis;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区国产| 亚洲精品美国一| 国产精品久久99| 婷婷开心激情综合| 成人看片黄a免费看在线| 欧美精品乱码久久久久久按摩| 国产亚洲一区二区三区四区| 午夜亚洲福利老司机| 欧美视频完全免费看| 中文字幕精品在线不卡| 日本不卡视频在线观看| 91电影在线观看| 国产视频一区二区三区在线观看| 国产成人日日夜夜| 欧美不卡视频一区| 日韩激情视频网站| 欧美日韩国产综合视频在线观看| 国产精品久久久一区麻豆最新章节| 成人国产电影网| 久久久www免费人成精品| 日韩福利视频导航| 欧美猛男超大videosgay| 日韩精品一二三四| 国产视频911| 国产精品免费视频网站| 国产亚洲欧美色| 91欧美一区二区| 亚洲天堂a在线| 99在线热播精品免费| 国产精品久久久久久一区二区三区| 91网页版在线| 美日韩黄色大片| 欧美电影免费观看高清完整版在 | 日韩精品专区在线影院重磅| 国产主播一区二区| 国产亚洲美州欧州综合国| 99re视频这里只有精品| 国产精品福利一区| 日韩欧美在线综合网| 久久精品国产77777蜜臀| 欧美va亚洲va香蕉在线| 成人激情综合网站| 免费观看久久久4p| 亚洲三级免费观看| 久久久另类综合| 91精品欧美久久久久久动漫 | 久久久久九九视频| 激情欧美一区二区| 亚洲第四色夜色| 欧美欧美午夜aⅴ在线观看| 国产精品99久久久久久似苏梦涵 | 欧美日韩一级二级| 另类欧美日韩国产在线| 亚洲男帅同性gay1069| 在线观看日韩国产| 亚洲综合激情另类小说区| 99在线精品观看| 老司机午夜精品| 亚洲国产另类精品专区| 日韩精品中文字幕在线一区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲欧洲国产日韩| 在线观看区一区二| 成人黄色综合网站| 极品尤物av久久免费看| 国产精品免费久久| 精品国产乱码91久久久久久网站| 成人在线一区二区三区| 男女视频一区二区| 日本不卡高清视频| 蜜臀久久99精品久久久久久9| 亚洲精品一二三| 国产精品久久久久久福利一牛影视| 亚洲18影院在线观看| 国产欧美日韩三区| 色综合久久综合网欧美综合网| 婷婷久久综合九色综合伊人色| 18欧美亚洲精品| 亚洲欧美乱综合| 一个色综合av| 亚洲妇熟xx妇色黄| 亚洲福利视频一区| 一区二区日韩av| 亚洲一二三区视频在线观看| 亚洲一区二区三区激情| 一区二区三区四区中文字幕| 亚洲另类色综合网站| 亚洲人午夜精品天堂一二香蕉| 最新国产成人在线观看| 亚洲嫩草精品久久| 一区二区三区精品在线| 亚洲国产另类精品专区| 日韩精品电影在线观看| 麻豆精品新av中文字幕| 美脚の诱脚舐め脚责91 | 99在线精品免费| 欧美综合欧美视频| 欧美日韩一本到| 精品日韩在线一区| 国产日韩视频一区二区三区| 亚洲丝袜美腿综合| 亚洲愉拍自拍另类高清精品| 日韩二区三区四区| 国产一区二区三区黄视频 | 欧美另类变人与禽xxxxx| 欧美一二三区在线| 国产日产亚洲精品系列| 亚洲色图都市小说| 免费在线观看一区二区三区| 狠狠网亚洲精品| 色综合天天综合色综合av | aaa欧美色吧激情视频| 色婷婷久久综合| 激情图区综合网| 久久国产精品99精品国产 | 91久久精品网| 欧美一区二区三区白人| 欧美视频日韩视频| 精品免费一区二区三区| 亚洲欧洲av在线| 日韩高清不卡一区| 99麻豆久久久国产精品免费| 欧美日韩黄色影视| 欧美国产丝袜视频| 天天色综合天天| 成人在线综合网| 日韩免费在线观看| 亚洲日本成人在线观看| 免费成人美女在线观看.| 成人福利在线看| 欧美成人午夜电影| 亚洲午夜精品网| 成人美女视频在线看| 日韩欧美色综合| 一区二区三区四区视频精品免费| 久久精品国产在热久久| 欧美亚洲免费在线一区| 国产精品九色蝌蚪自拍| 久久精品国产澳门| 欧美日韩中文字幕一区二区| 国产人伦精品一区二区| 秋霞电影一区二区| 色婷婷久久久久swag精品| 国产欧美视频一区二区| 美女一区二区三区在线观看| 欧美在线观看你懂的| 最近中文字幕一区二区三区| 国产精品一区免费在线观看| 日韩限制级电影在线观看| 一区二区三区四区乱视频| 成人免费观看视频| 久久久久国产一区二区三区四区| 日韩精品欧美精品| 欧美影视一区在线| 亚洲欧美另类综合偷拍| 高清不卡在线观看| 91香蕉国产在线观看软件| 久久综合成人精品亚洲另类欧美 | 成人黄页在线观看| 国产丝袜在线精品| 激情六月婷婷综合| 欧美一区二区三区免费观看视频| 亚洲电影激情视频网站| 欧美亚洲综合色| 午夜久久久影院| 欧美色图免费看| 亚洲综合一区在线| 91九色最新地址| 一二三四社区欧美黄| 91天堂素人约啪| 最近中文字幕一区二区三区| 91一区一区三区| 亚洲免费毛片网站| 色婷婷精品大在线视频| 亚洲女人的天堂| 欧美午夜免费电影| 日韩电影在线一区二区三区| 91精选在线观看| 久久激情综合网| 国产网站一区二区| 成人永久免费视频| 亚洲日本在线看| 欧美区一区二区三区| 日韩精品久久久久久| 欧美va亚洲va国产综合| 国产91在线看| 亚洲欧美日韩电影| 欧美吞精做爰啪啪高潮| 丝袜美腿亚洲色图| 欧美不卡激情三级在线观看| 国产91在线|亚洲| 依依成人精品视频| 538在线一区二区精品国产| 久久99精品国产.久久久久久| 久久久久久久久岛国免费| 99久久精品一区二区| 亚洲小少妇裸体bbw| 欧美一级专区免费大片| 成人免费毛片片v| 亚洲成人av资源|