题17

题目

【2017 统考真题】下列关于栈的叙述中, 错误的是 ( ).
I. 采用非递归方式重写递归程序时必须使用栈
II. 函数调用时, 系统要用栈保存必要的信息
III. 只要确定了入栈次序, 即可确定出栈次序
IV. 栈是一种受限的线性表, 允许在其两端进行操作
A. 仅 I
B. 仅 I、II、III
C. 仅 I、III、IV
D. 仅 II、III、IV

分析

实现递归不一定非要用栈
2是对的
4是错的

C
I 的反例: 计算斐波拉契数列迭代实现只需要一个循环即可实。
III 的反例: 入栈序列为 1,2, 进行 Push, Push, Pop, Pop 操作, 出栈次序为 2、1 ;
进行 Push, Pop, Push, Pop 操作, 出栈次序为
IV,栈是一种受限的线性表,只允许在一端进行操作。II 正确。