若需将一个栈S中的元素逆置,则以下处理方式中正确的是()。
A.将栈S中元素依次出栈并入栈T,然后将栈T中元素依次出栈并进入栈S
B.直接交换栈顶元素和栈底元素
C.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈S
D.直接交换栈顶指针和栈底指针
参考答案:C
解析:
[要点解析] 栈的运算特点是先入后出。栈的操作一般为初始化栈、元素入栈、元素出栈、判断栈是否为空、取栈顶元素的副本等,对栈中元素的操作应采用栈结构提供的操作接口实现。 对于选项A,将栈S中元素依次出栈并入栈T后,栈T中元素的排列正好是原栈S中元素的逆序,再将栈T中元素依次出栈并进入栈S,则栈S中的元素以原次序放置,不能实现栈S中元素逆置的要求。 对于选项B,将栈S中元素依次出栈并入队后,队头元素为原栈S的栈顶元素,队尾元素尾原栈S的栈底元素。队列的操作特点是先入先出,因此使该队列元素依次出队并进入栈S后,队头元素就进入栈底,队尾元素称为栈顶,因此可实现将栈S中元素逆置的效果。 对于选项C,直接交换栈顶元素与栈底元素既不符合栈结构的操作要求,也达不到逆置栈中元素的要求。 对于选项D,直接交换栈顶指针和栈底指针不符合栈结构的操作要求。