第一个:怎么分析栈开口向上还是向下? 第二个:top指的不是最上面的一个地址吗?怎么还可以变化?
破风丶 核心会员 2016-09-04 09:46:51
887 2 0
问题来自:
设栈的存储空间为 S(1:50),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=30,则栈中的元素个数为( )
A. 30
B. 31
C. 20
D. 19
答案:A
解析:栈的存储空间为 S(1:50),初始状态为top=0,此时的栈是1在栈底,50是开口向上的,现经过一系列正常的入栈与退栈操作后,栈顶=30,则栈中元素有栈顶-栈底=30-0=30个元素。所以选择A。

共 2 个回答

    破风丶 核心会员 2813天前

    top到底是什么意思呀

    qqq 资深元老 2813天前

    回复 破风丶:一般栈的开口都是向上的,你要判断的是1和50哪个在栈顶哪个在栈底。

    比如这一题,top指针是指栈顶指针,top初始状态一般是指向栈底的,随着元素的增加top指针会往栈顶移动,说明1是在栈底,50在栈顶也就是开口的那一端。

    要是觉得难理解就再把栈的那一课多看看。

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

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题