xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

|利用鄰接矩陣創(chuàng)建圖 |顯示圖的鄰接矩陣 |求各頂點(diǎn)的度 |插入頂點(diǎn) |插入弧 |刪除頂點(diǎn) |刪除弧 |用鄰接矩陣創(chuàng)建鄰接表UDG |顯示圖的鄰接表 |深度優(yōu)先便利序列 |廣度優(yōu)先便利序列 |圖的連通分支 |求最小生成樹(shù) |求任意頂點(diǎn)到其它頂點(diǎn)的最短路徑 |求圖的深度優(yōu)先生成樹(shù) |對(duì)生成樹(shù)進(jìn)行先序遍歷

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#define?MAX_VERTEX_NUM?20
#define?INFINITY?10000

typedef?struct?ArcCell{
int?adj;
}ArcCellAdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

typedef?struct{
char?vexs[MAX_VERTEX_NUM];
AdjMatrix?arcs;
int?vexnumarcnum;
}MGraph;

//……………………查詢頂點(diǎn)位置…………………

int?LocateVex(MGraph?Gchar?v){
int?i=0;
while(G.vexs[i]!=v&&i i++;
return?i;
}

//……………………創(chuàng)建圖的鄰接矩陣…………………

MGraph?CreateMGraph(){
MGraph?G;
int?ijk;
int?w;
char?v1v2;
cout<<“請(qǐng)輸入圖的頂點(diǎn)數(shù):“;
cin>>G.vexnum;
cout<<“請(qǐng)輸入圖的弧數(shù):“;
cin>>G.arcnum;
for(i=0;i cout<<“請(qǐng)輸入第“< cin>>G.vexs[i];
}
for(i=0;i for(j=0;j G.arcs[i][j].adj=INFINITY;
for(k=0;k cout<<“請(qǐng)輸入弧“< cin>>v1>>v2>>w;
if(LocateVex(Gv1) i=LocateVex(Gv1);
else{
cout<<“沒(méi)有找到此頂點(diǎn)!“< k--;
continue;
}
if(LocateVex(Gv2) j=LocateVex(Gv2);
else{
cout<<“沒(méi)有找到此頂點(diǎn)!“< k--;
continue;
}
G.arcs[i][j].adj=w;
G.arcs[j][i]=G.arcs[i][j];
}

return?G;
}

//……………………輸出MGraph…………………

void?PrintMGraph(MGraph?G){
cout<<“-----------------圖的鄰接矩陣---------------“< int?ij;
for(i=0;i cout<<“ “< cout< for(?i=0;i cout< for(?j=0;j if(G.arcs[i][j].adj!=INFINITY)
cout< else
cout<<“∞“<<“ “;
}
cout< }
cout<<“--------------------------------------------“<}

//……………………求各個(gè)頂點(diǎn)的度…………………

void?Vdu(MGraph?G){ //求各個(gè)頂點(diǎn)的度
int?ij;
int?V[20];
for(i=0;i int?count=0;
for(j=0;j if(G.arcs[i][j].adj!=INFINITY)
count++;
V[i]=count;
}
for(i=0;i cout<}

//……………………插入頂點(diǎn)…………………

void?InsertVex(MGraph?&G){
char?v;
int?ij;
cout<<“請(qǐng)輸入你想插入的頂點(diǎn):“;
cin>>v;
i=G.vexnum++;
G.vexs[i]=v;
for(j=0;j G.arcs[i][j].adj=INFINITY;
j=G.vexnum-1;
for(i=0;i G.arcs[i][j].adj=INFINITY;
cout<}

//……………………插入弧…………………

void?InsertArc(MGraph?&G){
char?v1v2;
int?ijw;
cout<<“請(qǐng)輸入你要插入的弧所關(guān)聯(lián)的頂點(diǎn)和權(quán)值:“;
cin>>v1>>v2>>w;
if(LocateVex(Gv1) i=LocateVex(Gv1);
j=LocateVex(Gv2);
G.arcs[i][j].adj=w;
G.arcs[j][i]=G.arcs[i][j];
cout< }else{
cout<<“沒(méi)有找到關(guān)聯(lián)的頂點(diǎn)!“< }
}

//……………………刪除頂點(diǎn)…………………

void?DeleteVex(MGraph?&G){
int?ij;
char?v;
cout<<“請(qǐng)輸入你所要?jiǎng)h除的頂點(diǎn):“;
cin>>v;
if(LocateVex(Gv) int?l=LocateVex(Gv);
for(i=l;i G.vexs[i]=G.vexs[i+1];
for(i=l;i for(j=0;j G.arcs[i][j]=G.arcs[i+1][j];
for(i=0;i

評(píng)論

共有 條評(píng)論