print.h

来自「各种排序方法源码」· C头文件 代码 · 共 33 行

H
33
字号
//-----------------------------打印输出最短路径--------------------------------//
void printpath(ALGraph *G,int i,int de,int **p,unsigned *d)
{//输出以数组下标i为起点的最短路径
	int k=de,m,r,j;
	unsigned int l;
		if(d[k]==Maxint)   //不通
		{
			printf("cannot reach from %s to %s.\n",G->vex[i],G->vex[k]);
		}
		else 
		{
			printf("%s",G->vex[i]);
			m=i;
			while(m!=k)
			{
				l=Maxint;
				for(j=0;j<G->vexnum;++j) //求得路径中与路径前一顶点联通的顶点中弧长最短的顶点
				{
					if(p[k][j]==TRUE)
					{
						if(l>G->arc[m][j])
						{
							l=G->arc[m][j];
							r=j;
						}
					}
				}
				printf("->%s",G->vex[r]);
				m=r;
			}
			printf(" length:%d\n",d[k]);
		}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?