>>v1>>v2;
if(G.Delete_Arc(v1,v2))
{
cout<<"删除成功"<
G.Display();
cout<<"删除后深度优先遍历序列为:";
G.DFS_Traverse();
cout<<"删除后广度优先遍历序列为:";
G.BFS_Traverse();
}
return 0;
}
测试结果:
输入定点数目和弧的数目:6 8
输入每个顶点的名称:v1 v2 v3 v4 v5 v6
输入边的两个顶点:v1 v2
输入边的两个顶点:v1 v3
输入边的两个顶点:v1 v5
输入边的两个顶点:v2 v5
输入边的两个顶点:v3 v4
输入边的两个顶点:v3 v1
该边已存在,本图不支持存在平行边
重新输入边的两个顶点:v2 v1
该边已存在,本图不支持存在平行边
重新输入边的两个顶点:v3 v6
输入边的两个顶点:v4 v2
输入边的两个顶点:v5 v4
无向图构造完成
输入顶点名称,将输出其相邻顶点:v5
顶点v5 的邻接顶点为:v4 v2 v1
邻接多重表结构:
顶点为:v1 v2 v3 v4 v5 v6
总共有8条边
v1--v5
v1--v3
v1--v2
v2--v4
v2--v5
v3--v6
v3--v4
v4--v5
深度优先遍历序列:v1 v5 v4 v2 v3 v6
广度优先遍历序列:v1 v5 v3 v2 v4 v6
输入你要插入的新的边的两个顶点的名称:v5 v6
插入成功
顶点为:v1 v2 v3 v4 v5 v6
总共有9条边
v1--v5
v1--v3
v1--v2
v2--v4
v2--v5
v3--v6
v3--v4
v4--v5
v5--v6
插入后深度优先遍历序列为:v1 v5 v6 v3 v4 v2
插入后广度优先遍历序列为:v1 v5 v3 v2 v6 v4
输入你要删除的边的另个顶点的名称:v1 v2
删除成功
顶点为:v1 v2 v3 v4 v5 v6
总共有8条边
v1--v5
v1--v3
v2--v4
v2--v5
v3--v6
v3--v4
v4--v5
v5--v6
删除后深度优先遍历序列为:v1 v5 v6 v3 v4 v2
删除后广度优先遍历序列为:v1 v5 v3 v6 v4 v2
Press any key to continue
初始生成的无向图如下所示:

经过插入删除后生成的图就不画出来了 大家一看就知道了
写完代码 完善和debug的过程很艰辛 有时很恶心 但是自己觉得还满意 还不错后,就会觉得很爽啦 所以多自己动手写 是很好的锻炼
作者 Kay_Sprint