发布网友 发布时间:2022-04-22 19:51
共3个回答
热心网友 时间:2023-10-26 23:22
首先做这题时你要知道基本概念:栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位。当压入第一个元素时,TOP指针指向m+1-1 = m当压入第二个元素时,TOP指针指向m+1-2 = m-1......以此类推,当压入第N个元素时,TOP指针指向m+1-N = m,则N = m+1-20 = m-19。但是这一道题的栈空间如下图所示:
针对这一题,这个栈是从栈顶向栈底压的,一般平时是从栈底向栈顶压,这道题目中是倒转过来的。top=m+1,如果放了一个元素,那么TOP就等于m+1-1 =m,这个时候正好top=m,说明往里放入了一个元素,现在再退出一个元素,正好还原,所以top=m+1。你可以理解成一个弹夹。
热心网友 时间:2023-10-26 23:23
m+1.此时是空栈啦
这道题目考察的是倒栈。我们数据结构都没有学过倒栈,下面是查出来的加上自己的理解。
s(1:m)的意思是这个栈占用的是1号到m号储存空间,初始状态为top=m+1意思是空栈时top指针指向m+1号储存空间。
第一个元素进来之后,放在m号位置,第二个元素进来放在m-1号位置。。。第m个进来放在1号位置这样子。
热心网友 时间:2023-10-26 23:23
这个我觉得你还是去查阅自学一下这个栈的运行流程,我看这个题貌似不难,并没有太复杂的过程,只要你了解了相关知识点应该就没问题,掌握这个知识点对你做其他的题也有好处。