计算机二级关于栈的试题,2015年计算机二级公共基础知识考点测试题(4)

11[单选题]已知元素的入栈顺序为abcde,则下列哪种出栈顺序是不可能的(出栈和入栈操作可交叉进行?(  )

A.edcbaB.cabdeC.dcbaeD.bcdea

参考答案:B

参考解析:abCde依次入栈,再依次出栈,得到出栈顺序edCba,所以选项A可能;我们现在来看选项B.第一个出栈的是C,&-Itl可以肯定栈中有b、a,等待入栈的是d、e,此时出栈的可能是b或d(d入栈马上出栈),不可能是a,所以选项B不可能;选项C,第一个出栈的是d,可以肯定栈中有C、b、a,等待入栈的是e,此时出栈的可能是C或e(C入栈马上出栈),若C、b、a依次出栈,e入栈马上出栈,刚好得到出栈顺序dCbae,因此选项C可能;选项D.第l个出栈的是b,可以肯定栈中有a,等待入栈的是c、d、e,C、d、e分别入栈马上又出栈得到出栈顺序bcde,最后a出栈,刚好得到出栈顺序bcdea,所以选项D可能。因此本题的正确答案是B。

12[单选题]下列关于栈的描述正确的是(  )

A.在栈中只能插入元素而不能删除元素

B.在栈中只能删除元素而不能插入元素

C.栈是特殊的线性表,只能在-端插入或删除元素

D.栈是特殊的线性表,只能在-端插入元素,而在另-端删除元素

参考答案:C

参考解析:栈是一个特殊的线性表,只能在栈顶进行插入(又叫入栈)和删除(又叫出栈)操作;队列是一个、允许在队尾插入元素(又叫入队),在队头删除元 不素又叫出队)的线性袁 因此选项C正确。

13[单选题]一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(  )

A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA

参考答案:B

参考解析:栈是按照“先进后出(FILO)”或“后进先出(LIFO)”的原则组织数据的,栈只能在栈顶插入数据(称为入栈)和删除数据(称为出栈)。现将元素l、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是EDCBA54321。因此本题的正确答案是B。

14[单选题]下列关于栈的描述中错误的是(  )。

83e417e08a1f3fbd25d5557641eb3add.gif

参考答案:B

参考解析:栈是一种先进后出的线性表;栈既可以顺序存储,也可以链式存储;栈可以用来保护断点信息,具有记忆作用;只允许在栈顶插入和删除元素,所以对栈的插入与删除操作,不需要改变栈底指针;因此选项B正确。

15[填空题]假如刚开始时栈为空,依次有‘A’,‘B’,‘C’,‘D’四个元素入栈,此时栈底指针指向元素________,栈顶指针值为________(假设每个元素的长度为l)。执行四次出栈操作后把‘E’,‘F’,‘G’压入栈,问此时栈底指针指向元素________ ,此时栈的长度为________。

参考解析:A 4 E 3【分析】做这种题目用图解法最方便。用()表示空栈,当A入栈时表示为(A.,当8入栈时表示为(A,B.,总之这种表示法中最右边的元素为栈顶元素,最左边元素为栈底元素,栈的长度为括号中元素的个数,栈顶指针的值等于栈的长度.入栈时把元素插在最右边,出栈时把最右边的元素剔除。当A,B,C,D依次入栈时,栈的状态为(A,B,C,D.,栈底指针指向A,栈顶指针值为4。执行四次出栈后栈为空,这个过程可以表示如下:(A,B,C,D.→(A,B,C.→(A,B.→(A.→0最后E,F,G入栈后栈的状态为(E,F,G),此时栈底指针指向E,栈的长度为3。

16[填空题]在一个容量为l5的循环队列中,若头指针front=6,尾指针rear=4,则该循环队列中共有________个元素;若头指针front=4,尾指针rear=6,则该循环队列中共有________个元素;若头指针front=6,尾指针rear=6,则该循环队列中共有________个元素。

参考解析:13 2 1 5或0

17[单选题]已知元素的入栈顺序为abcde,则下列哪种出栈顺序是不可能的(出栈和入栈操作可交叉进行)?(  )。

d41e555bbf325f69ec82025986866d5e.gif

参考答案:B

参考解析:

15fd5a1262fde3e884245a0a84e935d0.gif

18[单选题]下列叙述中正确的是(  )。【考点4队列】

A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构

B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D.循环队列中元素的个数是由队头指针和队尾指针共同决定的

参考答案:D

参考解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。

19[填空题]设某循环队列的容量为50,头指针front=5(指向队头元素的前-位置),尾指针rear=29(指向队尾元素),则该循环队列中共有—________个元素。

56b421c59866c05490be79c2461421cf.png

参考解析:

24【分析】本题主要考查考生对循环队列的存储形式和入队运算、出队运算的理解。循环队列的初始状态为满或空(front=50,rear=50),出队:front=front+1(若front=50,则将1赋值给front),入队:rear=rear+1(若rear=51,则将1赋值给rear)。

我们现在来模拟从循环队列的初始状态,经过多少次入队WWW出队操作来达到最终状态front=5,rear=29。

假设循环队列的初始状态为满(front=50,rear=50),只能先出队,然后再入队。将一个元素出队,front=50+l=51,根据循环队列的规定应该将l赋值给front,即front=1,再将一个元素出队,front=1+1=2,直到出队5个元素,front=5。5个元素出队了,空出了5个空间,所以元素可以入队,将一个元素入队,rear=50+1=51,根据循环队列的规定应

该将l赋值给rear,即rear=1,再将一个元素入队,rear=1+1=2,直到入队29个元素,rear=29。由于出队只空出5个空间,所以无法入队29个元素。因此循环队列的初始状态为满不成立。

假设循环队列的初始状态为空(front=50,rear=50),只能先入队,然后再出队。rear=29,表示有29个元素入队了,也即队列中只有29个元素。现在front=5,表示要有5个元素出队,队列中只剩下29—5=24个元素。因此循环队列的初始状态只能为空。队列中有24个元素。

同理,若循环队列的最终状态为front=29,rear=5,我们可以肯定循环队列的初始状态为满,则队中有50—29+5=26个元素。

若循环队列的最终状态为front=29,rear=29,我们可以肯定循环队列为满或空,所以循环队列中有50或O个元素。

总结,规律如下:若front>rear,队列中有n-front+rear个元素(其中n为循环队列的容量);若front

20[填空题]假如刚开始时栈为空,依次有‘A’,‘B’,‘C’,‘D’四个元素入栈,此时栈底指针指向元素(  ),栈顶指针值为(  )(假设每个元素的长度为l)。执行四次出栈操作后把‘E’,‘F’,‘G’压入栈,问此时栈底指针指向元素(  ),此时栈的长度为(  )。

参考解析:

A 、 4 、 E 、 3

70a49016d5cb7da4ac08edab671a2278.gif

21[填空题]在一个容量为l5的循环队列中,若头指针front=6,尾指针rear=4,则该循环队列中共有(  )个元素;若头指针front=4,尾指针rear=6,则该循环队列中共有(  )个元素;若头指针front=6,尾指针rear=6,则该循环队列中共有(  )个元素。

参考解析:1 3 、 2 、1 5或0

22[单选题]设有如下关系表:

则下列操作中正确的是(  )。

4896af549c53d694c3ce738b82c1097b.gif

参考答案:B

参考解析:

18da6b2f01007160c39dec66d7204116.gif

相关推荐:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值