链栈入栈和出栈是从a1这一段操作?不应该是an端吗?

为什么a1这一端是栈顶端,按理说不应该是an端吗?链栈入栈和出栈是从a1这一段操作?不应该是an端吗?

img

img

栈的特点是先进后出。
top是栈顶。a1是在top栈顶处的,所以出栈的是a1
链表的头部作为栈顶,意味着:
在实现数据"入栈"操作时,需要将数据从链表的头部插入;
在实现数据"出栈"操作时,需要删除链表头部的首元节点;

img

a1和an只是个节点标识,哪里是栈顶,是根据当前的头结点在哪里确定的。
新节点加入使用的是头插法,所以新节点都是头结点的next

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632