设栈的顺序存储空间为S(1: m),初始状态为top=m 1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( ) 这道题的具体解题步骤是什么
张颖 铁杆会员 2015-09-09 19:43:22
2957 4 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开口向上的),大家可以自己画画图】

共 4 个回答

    最佳答案

    王亚珂 人气新星 3177天前

    你这个题目里面里面的,这个栈是倒着压的。 这个题目,你想如果放了一个元素,那么TOP就等于m+1-1 =m 放两个元素,Top就等于 m+1-2=m-1 现在Top=20 也就是m-19 所以选C

    有帮助的话,请采纳哦

    阿七 正式会员 3177天前

    栈中元素=栈顶-栈底

    成瑞芳 资深达人 3177天前

    亲,初始状态是栈顶为m+1,经过运算后栈顶变成20,栈遵循先进后出的规则,也就是解析中的倒着压,开口向下,所以用初始的栈顶减去运算后的栈顶就是当前栈中的元素,这些题我做的时候差不多都是记住的,大同小异的,如果有帮助,请采纳哦!

    高婧前 人气红星 3177天前

    这种题的话 我是直接去相减的

    用初始状态直接减去 一系列变化后的状态

    m + 1 - 20 = m - 19

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

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题