1. 什么是静态队列.
这个不难理解, 所谓静态队列就是以数组为内核的一种队列结构.
至于什么是队列可以参考上面的文章.
而所谓数组就是内存里的一块连续内存, 也就是说数组相邻的元素在内存里的地址也是相邻的.
只需要知道数组的头部地址, 就可以快速的访问到制定元素的值. 而不需要像链表那样根据指针1个1个遍历.
所以静态队列的处理速度理论上是比链式队列快的.
而相对于数组, 链表的优势是方便地在线性存储中增加和删除元素, 而队列本身恰恰是不允许这样做的. 只能在入口入列, 出口出列. 所以链表的优势不明显了.
当然, 静态队列还有1个数组的缺点, 就是长度有限制啊. (不重新分配内存的情况下)
2. 静态队列的大概结构
2.1 1个数组内核
我们来举个简单的例子:
假如我们在内存里通态划分1个长度为8的数组, 也就是最多只能有8个元素啦.
而这个数组的头部地址是P, 那么就可以用P[0] ~ p[7] 来表表示这个数组的8个元素了. 0 ~ 7是数组的下标.
我定义这个数组后, 将里面的各个元素初始化为'0', 那么我们认为这个数组是逻辑上是1个空数组. 还没有放入数据嘛..