#include <iostream.h>
int m;
int n;
float a[100][100];
float dist[100];
int prev[100];
float MAX=10000;
void dijkstra()
{
if(m<0||m>n)
return;
bool *s=new bool[n+1];
for(int i=0;i<n;i++)
{
dist[i]=a[m][i];
s[i]=false;
if(dist[i]==MAX)
prev[i]=0;
else
prev[i]=m;
}
dist[m]=0;
s[m]=true;
for(int i1=0;i1<n;i1++)
{
float temp=MAX;
int u=m;
for(int j=0;j<n;j++)
if((!s[j])&&(dist[j]<temp))
{
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载