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