我这有一道C语言的题看不懂,真心求帮助,各位C语言高手拜托啦,
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0。先经过一系列入栈与出栈运算后,top=20,则当前栈中有多少个元素?答案:20。(麻烦解释的详细点...
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0。先经过一系列入栈与出栈运算后,top=20,则当前栈中有多少个元素?答案:20。(麻烦解释的详细点哈。)
展开
4个回答
展开全部
栈是一种特殊的存储空间,他用的是后进先出的数据处理方式
有两个标量,bottom和top,表示栈底和栈顶,初始时,栈为空,那么bottom和top肯定都是0
目前你栈的存储空间是s(1:40)也就是说最多可以存40个数据
栈每存入一个数据(入栈),top就增1,每出栈一次,top就减1,
所以,当你top==20时,栈中现在肯定是20个元素。
栈底一直不变
画个简单图:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom top
进栈一次,top右移一次:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom top
出栈一次,top左移一次:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom top
有两个标量,bottom和top,表示栈底和栈顶,初始时,栈为空,那么bottom和top肯定都是0
目前你栈的存储空间是s(1:40)也就是说最多可以存40个数据
栈每存入一个数据(入栈),top就增1,每出栈一次,top就减1,
所以,当你top==20时,栈中现在肯定是20个元素。
栈底一直不变
画个简单图:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom top
进栈一次,top右移一次:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom top
出栈一次,top左移一次:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom top
展开全部
栈存储规则是后进先出的,最后是20,则前边就是1-19.共20个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
栈:后进先出,top=20,就相当于里面有20个元素。我觉得这很显然啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在栈里面,bottom是不动的,入栈和出栈都是通过top来的。。。所以一共20个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询