运用了dijkstra方法参考杭州市的地铁路线,写的最小站数生成系统,用户可随意输入起始站和终止站查看路线,遇到换线时会提醒换线路,后续会添加qt的用户操作界面(正在学)
摆两张简单的图
dijkstra部分代码
for(i=0;i<most;i++)
{
final1[i]=0;
quanzhi[i]=tu[zhongdian1][i];
path[i]=0;
}
quanzhi[zhongdian1]=0;
final1[zhongdian1]=1;
for(i=1;i<most;i++)
{
min1=65535;
for(j=0;j<most;j++)
{
if((final1[j]==0)&&quanzhi[j]<min1)
{
k=j;
min1=quanzhi[j];
}
}
final1[k]=1;
for(j=0;j<most;j++)
{
if((final1[j]==0)&&(min1+tu[k][j]<quanzhi[j]))
{
quanzhi[j]=min1+tu[k][j];
path[j]=k;
}
}
}