【发布时间】:2013-11-14 16:55:38
【问题描述】:
为什么以下语句是等价的? emptyRow 和 emptyCol 是整数堆栈,而 Grid 是整数的二维数组。您无需知道该程序的功能,但如果您想知道它是一个使用基本回溯的数独解谜算法。
这两个语句都允许程序在没有任何错误的情况下运行,但我不明白这是怎么可能的,因为 .pop() 在第一个实现中返回最高的整数,而第二个则首先弹出最高的项目和直接检索那些下的整数。
声明 A:
Grid[emptyRow.pop()][emptyCol.pop()] = 0;
声明 B:
emptyRow.pop();
emptyCol.pop();
Grid[emptyRow.peek()][emptyCol.peek()] = 0;
对不起,如果这是我的代码的一个愚蠢的逻辑问题,我只是在检查是否有一些我不知道堆栈操作如何工作的东西。
【问题讨论】:
标签: java stack equivalent