数据结构习题——栈和队列

3  栈和队列   (一)

一、填空题

1. 栈是一种特殊的线性表,允许插入和删除运算的一端称为  栈顶        。不允许插入和删除运算的一端称为     栈底   

 

二、判断正误

(  T   )1. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(  F   )2. 栈和链表是两种不同的数据结构。 

(  T   )3. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。                                 

(  F   )4. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

 

三、单项选择题

   B    )1.  栈中元素的进出原则是

A.先进先出  B.后进先出  C.栈空则进  D.栈满则出

(   C    )2.  若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为

   A.i    B.n=i      C.n-i+1       D.不确定

(   B   )3.  判定一个栈S(最多元素为m)为空的条件是

A.S->top<>0        B.S->top=0 

C.S->top<>m       D.S->top=m

7.  栈是一种线性表,它的特点是  A后进先出   。设用一维数组A[1,…,n]来表示一个栈,A[n]为栈底,用整型变量T指示当前栈顶位置,A[T]为栈顶元素。往栈中推入(PUSH)一个新元素时,变量T的值  B1   ;从栈中弹出(POP)一个元素时,变量T的值  C 。设栈空时,有输入序列a,b,c,经过PUSH,POP,PUSH,PUSH,POP操作后,从栈中弹出的元素的序列是  D  a,c   ,变量T的值是  E n-1 

供选择的答案:

A:    ① 先进先出    ②后进先出      ③进优于出      ④出优于进   ⑤ 随机进出

B,C:  ① 加1       ②减1          ③不变            ④清0       ⑤ 加2        ⑥减2

D:    ① a,b         ②b,c            ③c,a                ④b,a        ⑤ c,b         ⑥ a,c

E:    ① n+1        ②n+2           ③ n                ④ n-1       ⑤ n-2

答:A、B、C、D、E分别为                           

8.  在做进栈运算时,应先判别栈是否  A   ;在做退栈运算时,应先判别栈是否  B   。当栈中元素为n个,做进栈运算时发生上溢,则说明该栈的最大容量为  C n 

为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的  D 栈底  分别设在这片内存空间的两端,这样,只有当  E 3 时,才产生上溢。

供选择的答案:

A,B:①空       ②  满       ③ 上溢     ④ 下溢

C:    ①n-1      ② n         ③ n+1      ④ n/2

D:   ① 长度    ②深度       ③ 栈顶     ④ 栈底

E:①两个栈的栈顶同时到达栈空间的中心点     ②其中一个栈的栈顶到达栈空间的中心点          

   ③两个栈的栈顶在达栈空间的某一位置相遇   ④两个栈均不空,且一个栈的栈顶到达另一个栈的栈底

答:A、B、C、D、E分别为                           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值