在使用栈实现汉诺塔问题的非递归算法时,以下哪种策略最有效? A. 使用两个栈分别存储源塔和目标塔的碟子。 B. 只使用一个栈来存储所有碟子,并在移动时进行判断。 C. 使用三个栈分别对应三个塔,依次移动碟子。 D. 使用一个栈和一个队列交替存储碟子,以便于移动。 答案解析 选项A错误,因为使用两个栈无法有效管理移动过程。选项B虽然使用一个栈,但在实际操作中难以满足汉诺塔的规则。选项C是正确的,使用三个栈可以有效模拟三个塔的状态,便于进行碟子的移动。选项D错误,因为队列的FIFO特性不适合汉诺塔问题的LIFO特性。故答案为C。 正确答案:C