所以我编写了一个在java中实现图形的程序,并且已经得到了我想要它工作的一切,除了以正确的顺序打印我的路径数组。
public void printThePaths(int v) {
for(int i = 0; i < path.length;i++){
System.out.println("From " + v + " to " + i);
int n = i;
while(n != -1) {
System.out.print(n);
n = path[n];
}
System.out.println();
//System.out.print(path[i] + ", ");
}
System.out.println();
}//end
此时路径数组如下所示:
path[] = {3,5,4,-1,4}
所以当我运行 printThePaths 方法时,它输出如下:
From 4 to 0
0324
From 4 to 1
154
From 4 to 2
24
From 4 to 3
324
From 4 to 4
4
From 4 to 5
54
嗯,路径是以相反的顺序打印的,我想知道以相反的方向打印它们的最佳方法是什么(又名从 4 到 0 是:4、3、2、0)。大家都明白,索引内的数字是该索引的父索引。
最佳答案
递归!
在您的方法中,将 while
循环替换为:
printPath( i );
然后添加该方法:
void printPath( int n ) {
if ( n != -1 ) {
printPath( path[n] );
System.out.print( n );
}
}
关于java - 如何使这个输出向后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369013/