2013-11-14 19 views
0

为什么以下语句是等价的? emptyRow和emptyCol是整数堆栈,Grid是整数的二维数组。你不需要知道程序的功能,但是如果你想知道这是一个使用基本回溯的数独谜题解决算法。为什么这些陈述是平等的? java中的堆栈方法

这两个语句都允许程序运行时没有任何错误,但我不明白这是如何实现的,因为.pop()返回第一个实现中最顶端的整数,而第二个首先弹出最顶端的项目并直接检索那些整数。

语句:

Grid[emptyRow.pop()][emptyCol.pop()] = 0; 

声明B:

emptyRow.pop(); 
emptyCol.pop(); 
Grid[emptyRow.peek()][emptyCol.peek()] = 0; 

很抱歉,如果这是我的代码一个愚蠢的逻辑问题,我只是检查,看看是否有什么我不了解堆栈操作的工作原理。

回答

1

语句相同

Grid[emptyRow.peek()][emptyCol.peek()] = 0; 
emptyRow.pop(); 
emptyCol.pop(); 

我想你混淆了秩序,或许在您的使用情况下,它并不重要,但代码是不一样的。