python第3章队列作业

1.(单选题,14.2 分)

数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为(  )。

A.r-f 

B.(n+f-r)%n 

C.n+r-f 

D.(n+r-f)%n

答案D

2.(单选题,14.3 分)

设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的容量至少应该是( )。

A.2

B.3

C.4

D.6

答案B

元素出队的序列是e2、e4、e3、e6、e5和e1,可知元素入队的序列是e2、e4、e3、e6、e5和e1,即元素出栈的序列也是e2、e4、e3、e6、e5和e1,而元素e1、e2、e3、e4、e5和e6依次进入栈,易知栈S中最多同时存在3个元素,故栈S的容量至少为3。

3.(单选题,14.3 分)

循环队列存储在数组A[0..m]中,则入队时的操作为( )。

A.rear=rear+1

B.rear=(rear+1)%(m-1)

C.rear=(rear+1)%m

D.rear=(rear+1)%(m+1)

答案D

数组A[0..m]中共含有m+1个元素,故在求模运算时应除以m+1。

4.(单选题,14.3 分)

最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是( )。

A.(rear+1)%n==front 

B.rear==front  

C.rear+1==front 

D.(rear-l)%n==front

答案B

最大容量为n的循环队列,队满条件是(rear+1)%n==front,队空条件是rear==front。

5.(单选题,14.3 分)

栈和队列的共同点是( )。

A.都是先进先出

B. 都是先进后出

C.只允许在端点处插入和删除元素

D.没有共同点

答案C

答案解析:

栈只允许在栈顶处进行插入和删除元素,队列只允许在队尾插入元素和在队头删除元素。

6.(简答题, 14.3 分)

简述线性表、栈和队列的异同

答案 :

线性表、栈和队列的相同点是它们元素的逻辑关系都是线性关系:不同点是运算不同,线性表可以在两端和中间任何位置插入和删除元素,而栈只能在一端插入和删除元素,队列只能在一端插入元素,另一端删除元素。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值