单元3——栈和队列

1.栈的插入与删除操作在( )进行。

A.栈顶(正确答案)

B.栈底

C.任意位置

D.指定位置

2.栈和队列都是()。

A.顺序存储的线性结构

B.限制存取点的线性结构(正确答案)

C.链接存储的线性结构

D.限制存取点的非线性结构

3.若让元素1,2,3依次进栈,则出栈次序不可能出现的情况是( )。

A.3,2,1

B. 2, 1, 3

C.3,1,2(正确答案)

D.1,3,2

4.栈和队列的共同点是( ).

A.都是先进后出

B.都是先进先出

C.只允许在端点处插入和删除元素(正确答案)

D.没有共同点

5.队列的删除操作是在( )。

A.队首(正确答案)

B.队尾

C.队前

D.队后

6.假定一个循环顺序队列的队首和队尾指针分别为f和r,则判断队空的条件是( )。A.f+1==r

B.r+1==f

C.f==0

D.f==r(正确答案)

7.假定一个链队的队首和队尾指针分别为front和rear,则判断队空的条件是( )。

A.front==rear(正确答案)

B.front!=NULL

C. rear!=NULL

D. front==NULL

8.若一个循环队列空间大小为6,当前rear 和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。

A.1和5

B.2和4(正确答案)

C.4和2

D.5和1

9.一个顺序栈S,其栈顶元素下标为top,则将元素e入栈的操作是( )。

A. S[top]=e; top++;(正确答案)

B. top++;S[top]=e;

C. S[top]=e;

D. S[top]=e;

10.在一个循环顺序队列中,队首指针指向队首元素的( )位置。

A.前一个(正确答案)

B.后一个

C.当前

D.后面

11.依次在初始为空的队列中插入元素a、b、c、d以后,紧接着做了两次出队操作,此时的队头元素是()。

A.a

B.b

C.c(正确答案)

D.d

12.表达式 a*(b+c)-d的后缀表达式是( )。

A. abcd+-

B.abc+*d-(正确答案)

C. abc*+d-

D.-+*abcd

13.将递归算法转换成对应的非递归算法时,通常需要使用( )来保存中间结果。

A.队列

B.栈(正确答案)

C.链表

D.树

14.在一个链式队列中,假定front和rear分别为队头指针和队尾指针,插入一个结点s的操作是( )。

A.front=front.next;

B.s.next=rear;rear=s;

C.rear.next=s;rear=s;(正确答案)

D. s.next=front;front=s;

15.当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( )。

A.N

B.N+1

C. N-1(正确答案)

D. N-2

16.在解决计算机主机和打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。该缓冲区应该是一个( )结构。

A.堆栈

B.队列(正确答案)

C.数组

D.线性表

17.在一个链队列中,假定front和rear分别为队头指针和队尾指针,删除一个结点的操作是( )。A.front=front.next;(正确答案)

B.rear=rear.next;

C. rear.next=front;

D.front.next=rear;

18.一个递归算法必须包括( )。

A.递归部分

B.终止条件和递归部分(正确答案)

C.迭代部分

D.终止条件和迭代部分

19.用链接方式存储的队列,在进行出队操作时( )。

A.仅修改头指针

B.仅修改尾指针

C.头、尾指针都要修改

D.头、尾指针可能都要修改(正确答案)

20.执行完下列语句段后,i的值为( )。

int f(int x)
{ return ((x>0) ? x* f(x-1) : 2);}
 int i;
i =f(f(1));

A.2

B.4(正确答案)

C.8

D.无限递归

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值