问题
单项选择题
若需将一个栈S中的元素逆置,则以下处理方式中正确的是()。
A.将栈S中的元素依次出栈并入栈T,然后栈T中的元素依次出栈并进入栈S
B.将栈S中的元素依次出栈并入队,然后使该队列的元素依次出队并进入栈S
C.直接交换栈顶元素和栈底元素
D.直接交换栈顶指针和栈底指针
答案
参考答案:B
解析:
[分析]: 假设栈S中有4个元素a、b、c、d,栈顶元素是d;如果按答案A的描述,其操作过程如图所示,操作完毕后,栈S的内容并没有发生改变。
如果按答案B的描述,其操作过程如图所示,操作完毕后,栈S的内容刚好完成了逆置。
如果按答案C的描述,其操作过程如图所示,操作完毕后,栈S的栈顶和栈底元素刚好逆置,但其他的元素没有完成逆置。
而对于一个栈而言,入栈和出栈都是在栈项进行的,因此只有栈顶指针,没有栈底指针,所以答案D中描述的操作无法进行。