#include "graph.hpp" #include #include int main() { // typedef struct data // { // int id; // std::string name; // }data; graphVertex gv; int op, id1, id2, w; std::string name; while (1) { printf("选择操作:1添加/覆盖节点2添加边3删除节点4删除边5显示图\n"); scanf("%d", &op); switch (op) { case 1: printf("分别输入序号 节点名:"); std::cin >> id1 >> name; printf("插入到ID位%d的位置\n", gv.insect(id1, name)); break; case 2: printf("分别输入起始节点序号 到达节点序号 边权重:"); std::cin >> id1 >> id2 >> w; switch (gv.link(id1, id2, w)) { case 0: printf("成功\n"); break; case -1: printf("顶点不存在\n"); break; case -2: printf("边已经存在\n"); break; } break; case 3: printf("输入节点序号:"); std::cin >> id1; gv.remove(id1); break; case 4: printf("分别输入起始节点序号 到达节点序号:"); std::cin >> id1 >> id2; switch (gv.unlink(id1, id2)) { case 0: printf("成功\n"); break; case -1: printf("顶点不存在\n"); break; case -2: printf("边不存在\n"); break; } break; case 5: gv.display(); default: break; } } return 0; }