设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为(  )

设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为(  )


A、

top=top+1;


B、

top=top-1;


C、

top->next=top;


D、

top=top->next;


【正确答案】:D
【题目解析】:

栈的链接实现称为链栈,链栈可以用带头结点的单链表来实现。LS 指向链表的头结点,首结点是栈顶结点,LS->next指向栈顶结点,尾结点为栈底结点。

出栈操作始终是栈顶结点出栈,即删除头结点之后的结点,如下图:


原栈顶的下一个结点成为新的栈顶,即top=top->next;,选D。


Top