我这有一道C语言的题看不懂,真心求帮助,各位C语言高手拜托啦,
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0。先经过一系列入栈与出栈运算后,top=20,则当前栈中有多少个元素?答案:20。(麻烦解释的详细点...
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0。先经过一系列入栈与出栈运算后,top=20,则当前栈中有多少个元素?答案:20。(麻烦解释的详细点哈。)
展开
1个回答
展开全部
栈是一种特殊的存储空间,他用的是后进先出的数据处理方式
有两个标量,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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询