?? main7-2.c
字號:
/* main7-2.c 檢驗bo7-2.c的主程序 */
#include"c1.h"
#define MAX_NAME 3 /* 頂點字符串的最大長度+1 */
typedef int InfoType; /* 存放網的權值 */
typedef char VertexType[MAX_NAME]; /* 字符串類型 */
#include"c7-2.h"
#include"bo7-2.c"
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 + -