首页 新闻 会员 周边 捐助

栈只是数组+一个指针

0
[已关闭问题] 关闭于 2025-12-06 14:33

设栈的存储空间为S(1:50),初始状态为top=51.现经过一系列正常的入栈与退栈操作后,top=50,栈中的元素个数为,bottom是多少

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1258
提问于:2025-12-06 14:31
< >
分享
所有回答(1)
0
一、先把“存储空间”画出来
数组 S 的下标从 1 到 50,共 50 个格子:

1 2 3 ... 49 50

 

| | | | ... | | |

二、两种“增长方向”——其实就是指针怎么动
  1. 向上增长(向高地址长)
    空栈时 top 指向“第一个可用位置”——通常 top=1。
    每 push 一次,top++;pop 一次,top--。
    因此 top 从 1 慢慢涨到 51,当 top=51 时说明数组已经“顶到天花板”,栈满。
  2. 向下增长(向低地址长)
    空栈时 top 指向“最上面再往上一个空位”——通常 top=51。
    每 push 一次,top--;pop 一次,top++。
    因此 top 从 51 慢慢降到 1,当 top=0 时已超出下界,栈满。
经过上述分析:
  • 栈中的元素个数:51 - top = 51 - 50 = 1
  • bottom:对于向下增长的栈,bottom = 50

答案

栈中的元素个数为 1,bottom 是 50。
*Tesla* | 园豆:1258 (小虾三级) | 2025-12-06 14:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册