设栈的顺序存储空间为S(1: m) ,这个1,m是什么意思?设栈的顺序存储空间为S(0:49),0,49是什么意思?
小胖咩 正式会员 2016-02-01 22:55:35
18742 5 0
问题来自:
设栈的顺序存储空间为S(1: m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( )
A. 30
B. 20
C. m-19
D. m-20
答案:C
解析:栈的顺序存储空间为S(1: m),初始状态top=m+1,说明这个栈是m在栈底,1是开口向上的。这题可以假设栈中有x个元素,当X=0时,也就是栈中没有元素,则Top=m+1,当X=m时,也就是栈满,则Top=1,由此可以得出Top=m+1-X,就可以得出X=m+1-Top。 所以说这个时候栈中的元素=m+1-Top,当Top=20时,栈中元素=m-19。所以选择C。 【注意:没有规定栈中栈底必须是0,这个在课程中也说过了。(如果说初始状态top=0,说明这个栈是1在栈底,m开口向上的),大家可以自己画画图】

共 5 个回答

    最佳答案

    青栀如初 资深大师 3032天前

    亲爱哒不好意思刚刚才看到问题,我们说S(a,b)如果a小于b哒话,我们说:栈是倒压的,也就是a是初始状态下哒栈底,b是初始状态下哒栈顶。那么对于上面哒题也是一样哒:1和0都是栈中初始状态下哒栈顶,m和49都是栈中初始状态下哒栈顶。 亲爱哒,「望采纳哟*^_^*」,如果以后还有什么不懂哒问题我们还可以一起讨论哟,相信我们一定会把问题解决哒,么么哒亲爱哒*^_^**^_^*

    小胖咩 正式会员 3031天前

    回复 青栀如初:那这道题,按你的解答意思是,m是初始状态下的栈顶,体重top=m+1又是什么意思呢??

    小胖咩 正式会员 3031天前

    回复 青栀如初:没放元素前,初始的栈底和栈底不是在同一位置的么?然后随着元素进来,栈顶才移动

    青栀如初 资深大师 3031天前

    回复 小胖咩:亲爱哒,要具体看题了,不一定没放元素之前栈顶和栈底是一样哒哟

       我们要看栈哒初始状态,如果栈中刚开始栈底是0,栈顶是1哒话,如果有5个元素,依次放进去之后栈顶就变成6了,所以我们要看题中栈哒初始状态到底是多少,这样才是可以哒。

    小胖咩 正式会员 3031天前

    回复 青栀如初:嗯那,虽然懂的不透彻,但按自己的理解,练习的这几题都差不多会了,就差一道题,再麻烦你帮我看一眼:设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为( )  答案给的是m+1,我认为出栈指针上移一个,所以应该是m-1

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题