栈和队列的习题

栈と队列の习题

1.(单选)

设栈的输入序列是1,2,3,4,则不可能是其出栈序列的是(D)。
A. 1,2,3,4
B. 2,1,3,4
C. 1,4,3,2
D. 4,3,1,2

2.(单选)

一个栈的输入序列是1,2,3,…,n,若输出序列的第一个元素是n,则输出的第i(2≤i≤n)个元素是(C)。
A. i
B. n-i
C. n-i+1
D. 不确定

3.(单选)

若元素a,b,c,d,e,f依次进栈,允许进栈和出栈操作交替进行,但不允许连续三次进行出栈操作,则不可能得到的出栈序列是(D)。
A. d,c,e,b,f,a
B. c,b,d,a,e,f
C. b,c,a,e,f,d
D. a,f,e,d,c,b

4. (单选)

下列关于栈的叙述中,错误的是(C)。
① 将递归算法改写为非递归算法时必须使用栈;
② 函数调用时,系统要用栈保存必要的信息;
③ 只要确定了入栈次序,即可确定出栈次序;
④ 栈时一种受限的线性表,允许在栈的两端进行操作
A. 仅①
B. 仅①②③
C. 仅①③④
D. 仅②③④

5.(单选)

与顺序栈相比,链栈的特点是(A)。
A. 通常不会出现栈满的情况
B. 通常不会出现栈空的情况
C. 入栈操作更简单且容易实现
D. 出栈操作更简单且更容易实现

6.(单选)

以下关于栈和队列的说法中,正确的是(C)。
A. 栈和队列都是后进先出的线性表
B. 栈和队列都是先进先出的线性表
C. 栈是在表尾插入和删除元素,队列是在表头删除元素、在表尾插入元素
D. 栈是在表尾插入和删除元素,队列是在表头插入和删除元素

7.(单选)

若用一个大小为6的数组来实现循环队列,front指示队头元素位置,rear指示队尾元素之后的位置,front的当前值为3,rear的当前值为0,那么从队列中删除一个元素再加入两个元素后,front和rear的值分别为(D)。
A. 1和5
B. 5和1
C. 2和4
D. 4和2

8.(单选)

在含有头结点的单循环链表队列中,结点包含数据域data和后继节点指针域next,rear指向队尾结点,则空队列的条件为(B)。
A. rear==NULL
B. rear==rear->next
C. rear->next==NULL
D. rear->data==rear

9.(单选)

采用顺序存储结构的栈和队列Q的初始状态都为空,元素a、b、c、d、e、f依次进入队列Q,Q中的每个元素出队列后立刻进入栈Q,如果出栈序列是b、c、d、f、e、a,则栈S的容量应不少于(B)。
A. 2
B. 3
C. 4
D. 5

10.(单选)

利用单链表来表示队列,最适合的是(D)。
A. 用尾指针作为链表标识的非循环链表
B. 用头指针作为链表标识的非循环链表
C. 用头指针作为链表标识的循环链表
D. 用尾指针作为链表标识的循环链表
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值