?? main7-2.cpp
字號:
// main7-2.cpp 檢驗bo7-2.cpp的主程序
#include"c1.h"
#define MAX_NAME 3 // 頂點字符串的最大長度+1
typedef int InfoType; // 存放網的權值
typedef char VertexType[MAX_NAME]; // 字符串類型
#include"c7-2.h"
#include"bo7-2.cpp"
void print(char *i)
{
printf("%s ",i);
}
void main()
{
int i,j,k,n;
ALGraph g;
VertexType v1,v2;
printf("請選擇有向圖\n");
CreateGraph(g);
Display(g);
printf("刪除一條邊或弧,請輸入待刪除邊或弧的弧尾 弧頭:");
scanf("%s%s",v1,v2);
DeleteArc(g,v1,v2);
printf("修改頂點的值,請輸入原值 新值: ");
scanf("%s%s",v1,v2);
PutVex(g,v1,v2);
printf("插入新頂點,請輸入頂點的值: ");
scanf("%s",v1);
InsertVex(g,v1);
printf("插入與新頂點有關的弧或邊,請輸入弧或邊數: ");
scanf("%d",&n);
for(k=0;k<n;k++)
{
printf("請輸入另一頂點的值: ");
scanf("%s",v2);
printf("對于有向圖,請輸入另一頂點的方向(0:弧頭 1:弧尾): ");
scanf("%d",&j);
if(j)
InsertArc(g,v2,v1);
else
InsertArc(g,v1,v2);
}
Display(g);
printf("刪除頂點及相關的弧或邊,請輸入頂點的值: ");
scanf("%s",v1);
DeleteVex(g,v1);
Display(g);
printf("深度優先搜索的結果:\n");
DFSTraverse(g,print);
printf("廣度優先搜索的結果:\n");
BFSTraverse(g,print);
DestroyGraph(g);
printf("請順序選擇有向網,無向圖,無向網\n");
for(i=0;i<3;i++) // 驗證另外3種情況
{
CreateGraph(g);
Display(g);
printf("插入新頂點,請輸入頂點的值: ");
scanf("%s",v1);
InsertVex(g,v1);
printf("插入與新頂點有關的弧或邊,請輸入弧或邊數: ");
scanf("%d",&n);
for(k=0;k<n;k++)
{
printf("請輸入另一頂點的值: ");
scanf("%s",v2);
if(g.kind<=1) // 有向
{
printf("對于有向圖或網,請輸入另一頂點的方向(0:弧頭 1:弧尾): ");
scanf("%d",&j);
if(j)
InsertArc(g,v2,v1);
else
InsertArc(g,v1,v2);
}
else // 無向
InsertArc(g,v1,v2);
}
Display(g);
printf("刪除頂點及相關的弧或邊,請輸入頂點的值: ");
scanf("%s",v1);
DeleteVex(g,v1);
Display(g);
DestroyGraph(g);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -