考虑用单向链表的尾部作为栈顶,先后执行下述操作。
1、连续入栈操作
假设初始是个空栈,连续压入三个元素。嗯!这样是没问题的,但是——
2、连续出栈操作
经过步骤一,我们现在有三个元素了,现在来把它们依次弹出。第一个元素(第三个被压入的元素):“我出来了,里面的弟弟快跟上!”但是——他怎么晓得里面的弟弟在哪里?链表是单向的啊,只有上一个弟弟晓得他在哪里,他是不知道上一个弟弟在哪里的,over!出栈操作大失败。
所以说嘛,单向线性链表实现堆栈,是不能用链表的尾部作为栈顶滴!
单向线性链表实现堆栈,为什么不能用链表的尾部作为栈顶?
最新推荐文章于 2024-09-05 19:33:43 发布
本文探讨了如何使用单向链表作为栈的基础结构,遇到的问题在于出栈操作的复杂性。由于链表的单向性,元素无法直接找到其前一个元素位置,导致连续出栈操作失效。这揭示了在实际应用中使用链表实现堆栈的局限性。
3416





