Example #1
0
 /*输出最短路径*/
 void Ppath( int path[][MAXV], int i, int j )
 {
	 int k = path[i][j];
	 if( k == -1 )
		return;
	 Ppath( path, i, k );
	 printf( "%d ", k );
	 Ppath( path, k, j );
 }
Example #2
0
void  Ppath(int path[][100],int i2,int j2)
{
    int k2;
    k2=path[i2][j2];
    if(k2==-1)
    {
        return;
    } 
    Ppath(path,i2,k2);
    printf("%c",str[tmp][k2]); 
    tmp = k2; 
    Ppath(path,k2,j2);
}
Example #3
0
void Dispath(int A[][100],int path[][100],int n)
{
    
              Ppath(path,0,n-1);
              printf("%c",str[tmp][n-1]); 
          
}
Example #4
0
void printPath(MGraph* G, int v) {
    for (int i = 0; i < G->n; i++) {
        if (s[i] == 1) {
           printf("Shortest path distance from %d to %d is %d, \tthe shortest path: ", v, i, d[i]);
           printf("%d, ", v);
           Ppath(v, i);
           printf("%d\n", i);
        }
    }
}
Example #5
0
void printPath(MGraph* G) {
    for (int i = 0; i < G->n; i++)
      for (int j = 0; j < G->n; j++)
        if (d[i][j] == INFI)
          printf("There is no path between %d and %d\n", i, j);
        else {
          printf("The shortest path distance from %d to %d is %d, "
                   "A shortest path: ", i, j, d[i][j]);
          printf("%d, ", i);
          Ppath(i, j);
          printf("%d\n", j);
        }
}
Example #6
0
 void Dispath( int A[][MAXV], int path[][MAXV], int n )
 {
	 int i, j;
	 for( i = 0; i < n; i ++ )
		 for( j = 0; j < n; j ++ )
		 {
			 if( A[i][j] == INF )
			 {
				 if( i != j )
					 printf( "从%d到%d之间没有路径\n", i, j );
			 }
			 printf( "从%d到%d的最短路径为:", i, j );
			 printf( "%d ", i );
			 Ppath( path, i, j );
			 printf( "%d	", j );
			 printf( "路径最短长度为%d\n", A[i][j] );

		 }
 }
Example #7
0
void Ppath(int v, int i) {
    if (path[i] == v) return;
    Ppath(v, path[i]);
    printf("%d, ", path[i]);
}
Example #8
0
void Ppath(int i, int j) {
    if (path[i][j] == -1) return;
    Ppath(i, path[i][j]);
    printf("%d, ", path[i][j]);
    Ppath(path[i][j], j);
}