迴圈佇列的兩種實現方式 判空與判滿存在區別

2021-10-23 04:37:07 字數 1879 閱讀 5682

//第一種實現方式

front : 隊頭位置

rear: 隊尾下乙個位置

size: 元素個數

入隊: 尾插,array[rear] = value

出隊:++front

迴圈: front/rear == size;front/rear == 0

#include #include #include typedef struct mycircularqueue;

mycircularqueue* mycircularqueuecreate(int k)

//插入元素

bool mycircularqueueenqueue(mycircularqueue* obj, int value)

//刪除元素

bool mycircularqueuedequeue(mycircularqueue* obj)

++obj->front;

if (obj->front == obj->k)

--obj->size;

return true;

}//獲取隊首元素

int mycircularqueuefront(mycircularqueue* obj)

//獲取隊尾元素

int mycircularqueuerear(mycircularqueue* obj)

//判斷佇列是否為空

bool mycircularqueueisempty(mycircularqueue* obj)

//判斷佇列是否已滿

bool mycircularqueueisfull(mycircularqueue* obj)

//佇列銷毀

void mycircularqueuefree(mycircularqueue* obj)

//第二種實現方式

front : 隊頭位置

rear: 隊尾下乙個位置

入隊: 尾插,array[rear] = value

出隊:++front

迴圈: front/rear == size;front/rear == 0

判空: front == rear

判滿(rear+1)%空間大小 == front

#include #include #include typedef struct mycircularqueue;

mycircularqueue* mycircularqueuecreate(int k)

//插入元素

bool mycircularqueueenqueue(mycircularqueue* obj, int value)

//刪除元素

bool mycircularqueuedequeue(mycircularqueue* obj)

++obj->front;

if (obj->front == obj->k+1)

//--obj->size;

return true;

}//獲取隊首元素

int mycircularqueuefront(mycircularqueue* obj)

//獲取隊尾元素

int mycircularqueuerear(mycircularqueue* obj)

//判斷佇列是否為空

bool mycircularqueueisempty(mycircularqueue* obj)

//判斷佇列是否已滿

bool mycircularqueueisfull(mycircularqueue* obj)

//佇列銷毀

void mycircularqueuefree(mycircularqueue* obj)

佇列判空 (二)佇列的實現

源於生活,抽象生活。生活中的佇列 當然是停車場排隊出場啦。計算機的佇列 簡答的說就是先入先出 fifo 在大腦中要有的概念是 隊頭 狀態 就是排隊第乙個交錢準備出場的車 隊尾 狀態 最後乙個排隊準備交錢的車 入隊 動作 add.把車開入 出停車場的道 出棧 動作 out.交完錢,把車開出停車場。fi...

hustoj實現遠端判題的兩種方案

hustoj實現遠端判題需要對原始碼作新增或修改,對應流程圖中的紅色部分。需要在web端建立子執行緒,使其處理表中的遠端提交。同時修改core 使其不分配執行緒處理表中的遠端提交。這裡選擇共用同一張solution表,是為了避免建立新錶需要還原複雜的呼叫關係。core由兩部分組成 負責感知任務並分配...

迴圈佇列的兩種實現方法

順序儲存結構 示意圖參考嚴蔚敏版 資料結構 順序儲存為何宜選迴圈佇列?佇列的順序表儲存中,除了資料域dat adata data 還應附設兩個座標fro ntfront front和rea rrear rear 用來記錄頭結點和尾結點的位置。對於pop poppo p操作,依靠 fro nt 1 f...