> ch1;switch (ch1){case'1': //创建有向图{system("cls");CreateGraph(MG);cout system("pause");system("cls");continue;}case'2': //显示图信息{system("cls");DisplayGraph(MG)" />

实验六 图的创建及应用(I)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名学号

cout << endl << ">请选择功能:";

cin >> ch1;

switch (ch1)

{

case'1': //创建有向图

{

system("cls");

CreateGraph(MG);

cout << "操作完毕!" << endl;

system("pause");

system("cls");

continue;

}

case'2': //显示图信息

{

system("cls");

DisplayGraph(MG);

cout << "操作完毕!" << endl;

system("pause");

system("cls");

continue;

}

case'3': //返回上一界面

{

break;

}

default:

{

system("cls");

cout << "输入错误,请重新输入!" << endl;

continue;

}

}

system("cls");

break;

}

break;

}

case'2':

{

system("cls");

while (1)

{

minor_menu2();

char ch1;//二层菜单输入选择

cout << endl << ">请选择功能:";

cin >> ch1;

switch (ch1)

{

case'1'://创建图信息

{

system("cls");

CreateGraph(ALG);

cout << "操作完毕!" << endl;

system("pause");

system("cls");

continue;

}

case'2'://显示图信息

{

system("cls");

DisplayGraph(ALG);

cout << "操作完毕!" << endl;

system("pause");

system("cls");

continue;

}

case'3': //返回上一界面

{

break;

}

default:

{

system("cls");

cout << "输入错误,请重新输入!" << endl;

continue;

}

}

system("cls");

break;

}

break;

}

case'3':

{

system("cls");

while (1)

{

minor_menu3();

ALGraph R_ALG;

int i, j; //待搜索的顶点的位置

char ch1; //二层菜单输入选择

cout << endl << ">请选择功能:";

cin >> ch1;

switch (ch1)

{

case'1'://使用已创建的邻接表表示的图进行搜索

{

system("cls");

cout << "请输入待搜索的顶点v(i) 顶点v(j)(以空格分隔):";

cin >> i>> j;

int flag = exist_path_DFS(G, i, j);

if (flag)

cout << "搜索成功!存在顶点v(i):" << G.vertices[i].data << "顶点v(j):" << G.vertices[j].data << "的路径" << endl;

else

cout << "搜索失败!不存在顶点v(i):" << G.vertices[i].data << "到顶点v(j):" << G.vertices[j].data << "的路径" << endl;

cout << "操作完毕!" << endl;

system("pause");

system("cls");

continue;

}

case'2': //创建新图进行搜索

{

system("cls");

CreateGraph(R_ALG);

cout << "请输入待搜索的顶点v(i) 顶点v(j)(以空格分隔):";

cin >> i >> j;

int flag = exist_path_DFS(R_ALG, i, j);

if (flag)

cout << "搜索成功!存在顶点v(i):" << R_ALG.vertices[i].data << "到顶点v(j):" << R_ALG.vertices[j].data << "的路径" << endl;

else

cout << "搜索失败!不存在顶点v(i):" << R_ALG.vertices[i].data << "到顶点v(j):" << R_ALG.vertices[j].data << "的路径" << endl;

cout << "操作完毕!" << endl;

system("pause");

system("cls");

continue;

}

case'3': //返回上一界面

{

break;

}

default:

{

system("cls");

cout << "输入错误,请重新输入!" << endl;

continue;

}

}

system("cls");

break;

}

break;

}

case'4':

{

return 0;

}

default:

{

system("cls");

cout << "功能选择错误,请重新输入!" << endl;

break;

}

}

}

return 0;

}

void main_menu(void)

{

cout << endl;

cout << "==========================================================================" << endl;

cout << " 图的创建及应用 " << endl;

cout << "<<=========================功能选择========================>>" << endl;

cout << " 【1】邻接矩阵表示法 " << endl;

cout << " 【2】邻接表表示法 " << endl;

cout << " 【3】基于深度优先搜索判断是否存在指定位置的路径 " << endl;

cout << " 【4】退出程序 " << endl;

cout << "==========================================================================" << endl <<

相关文档
最新文档