全部问题 > 当前问题

栈底指针和栈顶指针指什么

原鑫鑫 2016-1-30 15:41:43

共 1 个回答

最佳答案

青栀如初 2016-1-30 16:06:49

   亲爱哒

不好意思,刚刚才看到题

 【1】栈顶指针

       栈顶指针 是指:在栈操作过程中,指出栈顶元素所在位置的栈指针。

       在栈操作过程中,有一个专门的栈指针(习惯上称它为TOP),指出栈顶元素所在的位置。

在栈中,栈顶指针动态反映了栈中元素的变化情况

      栈是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。表的另一端称为栈底。栈顶的当前位置是动态的,对栈顶当前位置的标记称为栈顶指针。当栈中没有数据元素时,称之为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈

【2】栈底指针

       栈底指针指的不是最底的那个值,而是栈的值的下一个,一般是空.一般,栈底指针加1才是最底的值.

  亲爱哒。望采纳哟,如果以后还有其他问题我们还可以一起讨论哟,么么哒亲爱哒!

问题来自:
设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为( )
A. 30
B. 29
C. 20
D. 19
答案:C
解析:设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素),那这个栈也应该是49在栈底,0在开口向上的,所以栈顶30是小于栈底的,则栈中元素=|栈顶-栈底|+1,则栈有20个元素。因此选择C。 【其实这个公式换算一下也是可以写成:元素数量=栈底-栈顶+1,或者写成:元素数量=栈底+1-栈顶,而这里的栈底+1,其实指向的就是栈底49下面的位置。虽然换算之后结果都是一样的,但公式不要死记硬背,一定要结合题目来看,把题目弄明白才是关键】