某带链栈的初始状态为 top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=10,bottom=20。该栈中的元素个数为( )。

🔥 2389 热度
A 1
B 0
C 10
D 不确定
参考答案
D
解析
带链的栈是具有栈属性的链表。线性链表的存储单元是不连续的,为把存储空间中一些离散的空闲存储结点利用起来,把所有空闲的结点组织成一个带链的栈,称为可利用栈。线性链表执行删除操作运算时,被删除的结点可以"回收"到可利用栈,对应与可利用栈的入栈运算;线性链表执行插入运算时,需要一个新的结点,可以在可利用栈中取栈顶结点,对应于可利用栈的退栈运算。可利用栈的入栈运算和退栈运算只需要改动 top 指针即可。因为是不连续的存储空间,所以 top 指针将不会有规律地连续变化,因此无法据此判断栈中的元素个数。故本题答案为D。