資料結構 03佇列與迴圈佇列

2021-10-10 05:26:00 字數 544 閱讀 2651

佇列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 ...