numbers[0].num=0;numbers[0].name="SanRapheal";
numbers[1].num=1;numbers[1].name="Cross";
numbers[2].num=2;numbers[2].name="DalyCit";
numbers[3].num=3;numbers[3].name="SanFrancisco";
numbers[4].num=4;numbers[4].name="Oakland";
numbers[5].num=5;numbers[5].name="SanLarenzo";
numbers[6].num=6;numbers[6].name="CrossB";
numbers[7].num=7;numbers[7].name="SanMaleo";
numbers[8].num=8;numbers[8].name="Hayward";
numbers[9].num=9;numbers[9].name="Dubin";
numbers[10].num=10;numbers[10].name="RedwoodCity";
numbers[11].num=11;numbers[11].name="CrossC";
numbers[12].num=12;numbers[12].name="PaloAlso";
numbers[13].num=13;numbers[13].name="Freemood";
numbers[14].num=14;numbers[14].name="MinView";
numbers[15].num=15;numbers[15].name="Cupertin";
numbers[16].num=16;numbers[16].name="SanJose";
cout<<"输入你要查询的起始地点的序号:
";
cin>>k;
cout<cout<<"输入你要查询的终止地点的序号:
";
cin>>x;
cout<cout<<"以下是从"<"<intcost[17][MAXVEX]=
{
{0,12,N,N,18,N,N,N,N,N,N,N,N,N,N,N,N},
{12,0,3,3,N,N,N,N,N,N,N,N,N,N,N,N,N},
{N,3,0,4,N,N,19,N,N,N,N,N,N,N,N,N,N},
{N,3,4,0,7,N,N,21,N,N,N,N,N,N,N,N,N},
{18,N,N,7,0,N,N,N,N,31,N,N,N,N,N,N,N},
{N,N,N,N,N,0,N,N,N,12,N,N,N,N,N,N,N},
{N,N,19,N,N,N,0,4,N,N,N,7,N,N,N,N,N},
{N,N,N,21,N,N,4,0,13,N,6,N,N,N,N,N,N},
{N,N,N,N,N,N,N,13,0,N,N,N,N,9,N,N,N},
{N,N,N,N,31,12,N,N,N,0,N,N,N,N,N,N,35},
{N,N,N,N,N,N,N,6,N,N,0,5,6,N,N,N,N},
{N,N,N,N,N,N,7,N,N,N,5,0,N,N,N,14,N},
{N,N,N,N,N,N,N,N,N,N,6,N,0,9,6,N,N},
{N,N,N,N,N,N,N,N,9,N,N,N,9,0,N,N,24},
{N,N,N,N,N,N,N,N,N,N,N,N,6,N,0,6,8},
{N,N,N,N,N,N,N,N,N,N,N,14,N,N,6,0,7},
{N,N,N,N,N,N,N,N,N,35,N,N,N,24,8,7,0},
};
Floyed(cost,17,k,x);
return0;
}
程序调试及测试结果
图1程序调试过程截图
图2程序调试过程截图
图3程序调试过程截图
图4程序测试结果截图
结论
本题目所涉及的问题主要是算法和存储结构的选择两个方面。
算法采用弗洛伊德算法,运用邻接矩阵解决存储问题并解决在此结构情况下对矩阵中元素的扫描计算。
参考文献
1.《数学实验》傅鹂龚劬刘琼荪何中市科学出版社
2.《数据结构教程C语言版》张绍民李淑华中国电力出版社
3.《数据结构实验教程C语言版》王国钧唐国民清华大学出版社
4.《数据结构与算法》陈文博朱青机械工业出版社