数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合
线性表:线性表是一种数据结构,一个线性表是n个具有相同特性的数据元素的有限序列。
顺序存储结构:是用一组地址连续的存储单元依次存储线性表中的数据元素。
链式存储结构:用一组任意的存储单元存储线性表中的数据元素。在存储单元中,除了存储数据元素其本身的信息之外,还需存储其直接后继的存储位置,这两部分信息和在一起称为结点(node)。
结点包括两个域:存储数据元素信息的域称为数据域;存储后继结点的地址的域称为指针域。
队列是一种特殊的线性表,它只允许在队头(front)进行删除,在队尾(rear)进行插入,即先进先出。
队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。
顺序队列:其中的队列元素存储在一片连续的存储空间中,有一个队头指针front,指向队头元素;一个队尾指针rear,指向下一个入队元素的存储位置。
顺序队列的三种溢出现象:
- 下溢:当队列为空,做出队运算产生的溢出现象
- 真上溢:当队列满时,做入队运算产生空间溢出的现象
- 假上溢:由于入队和出对操作中,头指针只增不减,致使被删元素的空间无法被重新利用。当队列中实际存储的元素小于队列的规模,而队尾元素已达到向量空间的上界而不能做入队操作,此现象称为假上溢
循环队列:将队列空间想象成一个环形空间,一旦rear指针增1或front指针增1时超出了所分配的队列空间,就让它指向这片连续空间的起始位置。