[04数据结构]栈和队列的基本理解操作和笔试题

Posted .阿Q.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[04数据结构]栈和队列的基本理解操作和笔试题相关的知识,希望对你有一定的参考价值。

本章我可能会犯错、要注意的点:

  1. 栈本质上是线性表,只不过比较特殊,是一种只允许在一端操作的受限制的线性表。
  2. 数组栈而不选链式栈的原因是:因为数组在尾上插入数据的代价比较小。
  3. 出栈、取栈顶元素需要先判断是否栈【】  。如果栈空,则不能操作,会崩。需要断言:assert(!StackEmpty(ps));
  4. 销毁栈很有必要,要防止内存泄漏。因为StackPop只是把数据弹栈,并没有把空间还回去。
  5. 栈使用顺序结构(数组栈);而队列使用链式结构(链式队列)。
  6. 为什么队列还要再单独定义head,tail?而单链表不需要?                                                                                                                ————    因为队列只能一边进,另一边出。所以定义head,tail,可以很好地体现价值;而单链表不需要

以上是关于[04数据结构]栈和队列的基本理解操作和笔试题的主要内容,如果未能解决你的问题,请参考以下文章

(王道408考研数据结构)第三章栈和队列-第二节:队列基本概念顺序栈和链栈基本操作

Java集合与数据结构 栈和队列

Java集合与数据结构 栈和队列

Java集合与数据结构 栈和队列

栈和队列的区别,栈和堆的区别

算法:栈和队列