#include "graph.hpp"
#include <iostream>
#include <stdio.h>
int main()
{
// typedef struct data
// {
// int id;
// std::string name;
// }data;
graphVertex<int, std::string> 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;
if(id1==id2)
printf("失败\n");
switch (gv.link(id1, id2, w))
case 0:
printf("成功\n");
case -1:
printf("顶点不存在\n");
case -2:
printf("边已经存在\n");
}
case 3:
printf("输入节点序号:");
std::cin >> id1;
gv.remove(id1);
case 4:
printf("分别输入起始节点序号 到达节点序号:");
std::cin >> id1 >> id2;
switch (gv.unlink(id1, id2))
printf("边不存在\n");
case 5:
gv.display();
default:
return 0;