using namespace std; #define NUM 5 #define MAX 100void main(){ //记录各节点之间的距离,即 //array_point[i][j]表示的是第i个节点到第j个节点的距离 int
array_point[NUM][NUM]={{0,10,-1,30,100},{-1,0,50,-1,-1},{-1,-1,0,-1,10},{-1,-1,20,0,60},{-1,-1,-1,-1,0}}; int i; int array_R[MAX]={0}; //红点 int array_B[MAX]; //蓝点 for(i=0;iif(array_d[j]!=-1&&array_d[j]{ if(array_point[min][n]!=-1&&min!=n) //结点min到j间有路 if((array_d[min]+array_point[min][n]cout<<\"----------该节点到零节点的最短路线为:\"<=0;n--) { int temp0; if(temp1 == -1) break; temp[n] = temp1; temp0 = temp1; temp1 = array_pre[temp0]; } //按最短路径显示经过的节点 for (n=0;n \"<用户屏幕如下: