?? main7-1.cpp
字號(hào):
// main7-1.cpp 檢驗(yàn)bo7-1.cpp的主程序
#include"c1.h"
#define MAX_NAME 5 // 頂點(diǎn)字符串的最大長(zhǎng)度+1
#define MAX_INFO 20 // 相關(guān)信息字符串的最大長(zhǎng)度+1
typedef int VRType;
typedef char InfoType;
typedef char VertexType[MAX_NAME];
#include"c7-1.h"
#include"bo7-1.cpp"
Status visit(VertexType i)
{
printf("%s ",i);
return OK;
}
void main()
{
int i,j,k,n;
VertexType v1,v2;
MGraph g;
CreateFAG(g);
Display(g);
printf("修改頂點(diǎn)的值,請(qǐng)輸入原值 新值: ");
scanf("%s%s",v1,v2);
PutVex(g,v1,v2);
printf("深度優(yōu)先搜索的結(jié)果:\n");
DFSTraverse(g,visit);
printf("廣度優(yōu)先搜索的結(jié)果:\n");
BFSTraverse(g,visit);
printf("刪除一條邊或弧,請(qǐng)輸入待刪除邊或弧的弧尾 弧頭:");
scanf("%s%s",v1,v2);
DeleteArc(g,v1,v2);
Display(g);
DestroyGraph(g);
printf("請(qǐng)順序選擇有向圖,有向網(wǎng),無向圖,無向網(wǎng)\n");
for(i=0;i<4;i++) // 驗(yàn)證4種情況
{
CreateGraph(g);
Display(g);
printf("插入新頂點(diǎn),請(qǐng)輸入頂點(diǎn)的值: ");
scanf("%s",v1);
InsertVex(g,v1);
printf("插入與新頂點(diǎn)有關(guān)的弧或邊,請(qǐng)輸入弧或邊數(shù): ");
scanf("%d",&n);
for(k=0;k<n;k++)
{
printf("請(qǐng)輸入另一頂點(diǎn)的值: ");
scanf("%s",v2);
if(g.kind<=1) // 有向
{
printf("對(duì)于有向圖或網(wǎng),請(qǐng)輸入另一頂點(diǎn)的方向(0:弧頭 1:弧尾): ");
scanf("%d",&j);
if(j)
InsertArc(g,v2,v1);
else
InsertArc(g,v1,v2);
}
else // 無向
InsertArc(g,v1,v2);
}
Display(g);
printf("刪除頂點(diǎn)及相關(guān)的弧或邊,請(qǐng)輸入頂點(diǎn)的值: ");
scanf("%s",v1);
DeleteVex(g,v1);
Display(g);
DestroyGraph(g);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -