[04数据结构]栈和队列的基本理解操作和笔试题
Posted .阿Q.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[04数据结构]栈和队列的基本理解操作和笔试题相关的知识,希望对你有一定的参考价值。
本章我可能会犯错、要注意的点:
- 栈本质上是线性表,只不过比较特殊,是一种只允许在一端操作的受限制的线性表。
- 选数组栈而不选链式栈的原因是:因为数组在尾上插入数据的代价比较小。
- 出栈、取栈顶元素需要先判断是否栈【空】 。如果栈空,则不能操作,会崩。需要断言:assert(!StackEmpty(ps));
- 销毁栈很有必要,要防止内存泄漏。因为StackPop只是把数据弹栈,并没有把空间还回去。
- 栈使用顺序结构(数组栈);而队列使用链式结构(链式队列)。
- 为什么队列还要再单独定义head,tail?而单链表不需要? ———— 因为队列只能一边进,另一边出。所以定义head,tail,可以很好地体现价值;而单链表不需要
以上是关于[04数据结构]栈和队列的基本理解操作和笔试题的主要内容,如果未能解决你的问题,请参考以下文章