【问题标题】:What is wrong with printing a path in graph?在图中打印路径有什么问题?
【发布时间】:2012-05-21 01:57:12
【问题描述】:

我正在尝试在迷宫中打印解决方案路径。每个单元格都有一个父单元,我们从那里到达该单元格。我正在使用以下代码打印路径。

                do{
                System.out.print("The parent of "+index1+","+index2+"=");
                System.out.println(theParents[index1][index2][0]+","+theParents[index1][index2][1]);
                index1=theParents[index1][index2][0];
                index2=theParents[index1][index2][1];
                }while(!(index1==2 && index2==1));

问题是跳过了一些单元格。我不知道为什么?

7,7=6,7 的父级

6,7=5,7 的父级

5,7=4,7 的父级

4,7=3,7 的父级

3,7=2,7 的父级

2,7=1,7 的父级 // 如您所见,我们现在应该打印 1,7 但它会跳过 1,7 并转到 1,6

1,6=1,5 的父级

1,5=2,5的父级 //跳过2,5直接到2,3

2,4=2,3 的父级

2,3=1,3 的父级

1,2=1,1 的父级

1,1=0,1 的父级

0,0=1,0 的父级

1,0=2,0 的父级

代码有什么问题?

【问题讨论】:

    标签: java while-loop do-while


    【解决方案1】:
    index1=theParents[index1][index2][0];
    index2=theParents[index1][index2][1]; // the index1 here is already reassigned!
    

    当你在 index2 的分配中使用它时,你已经重新分配了 index1。

    你需要类似的东西

    int newindex1 = theParents[index1][index2][0];
    int newindex2 = theParents[index1][index2][1];
    
    index1 = newindex1;
    index2 = newindex2;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      相关资源
      最近更新 更多