上次说了,一头进一头出的就是栈,那么什么是队列(queue)呢,就是一头进另一头出。正如我们排队一样,来了人只能站在队尾,先走的人只能是队头。在队列中,总是遵循fifo,fist in first out。
队列通常分为以下几种:顺序队列和循环队列还有链队列。本文主要讲循环队列
顺序队列
这个就不再这里过多叙述了,通常采用连续的数据空间存储队列中的元素,就像这样子
其中front表示队头,near表示队尾
循环队列
顺序队列当队头不断地被取出,front会不断的往后移,这时候就会造成内存的极大浪费
而循环队列则不会
画成这样只是方便理解,事实上在内存中每个内存单元都是线性的