佇列queue,是乙個有序列表,可以用陣列和鍊錶實現
先進先出,如銀行業務辦理
用陣列模擬佇列
隊尾:rear——rear會隨著資料的輸入而不斷增加
隊首:front——front會隨著資料的輸出而不斷增加
佇列的長度:rear - front + 1
最大容量:maxsize
注:這張圖有問題,而且,front,rear不一定是從-1開始
資料新增
1. 新增之前需判斷佇列的容量——如何判斷——rear表示的是隊尾元素的序號,因為容量為 rear+1,只需判斷 rear+1與 maxsize的關係即可
2. 新增之後,rear+1
3. 注意rear 與 front都是不斷增大的
資料取出
如果不設定成為迴圈佇列,那麼在操作若干次之後,front=rear=maxsize-1,在這種條件下這個佇列既沒有資料,也不能新增資料——無復用效果
資料結構5 佇列
5.1簡介 佇列 queue 和堆疊一樣是一種有序鍊錶,屬於抽象資料型別。不同在於是先進先出 first in,first out,fifo 堆疊只需要乙個top指標指向堆疊頂端即可,但是佇列必須使用front和rear兩個指標分別指向佇列的前端和尾端。基本操作 1 create 建立空佇列 2 a...
資料結構(二) 佇列
一 佇列定義 佇列是限定在一端進行插入,另一端進行刪除特殊線性表。二 佇列基本操作 入隊出隊 三 佇列例題 1.例1 舞伴配對問題 分析 這一題是一道經典的取模運算,每一次將編號往前加一位,到達n就取模。include include include include int main return ...
資料結構 七 佇列
1 佇列需要具備的特性 佇列和棧的底層實現資料結構可以是 陣列 鍊錶,只不過在此基礎上,佇列和棧需要過載兩個函式 節點的插入與刪除函式。佇列只能從煉表頭刪除節點,從鍊錶末尾插入節點 2 示例 ifndef data struct queue h define data struct queue h ...