學習資料結構(一) 佇列(2)

2021-09-18 05:09:02 字數 1253 閱讀 8094

留下筆記。

mycircularqueue(k): 構造器,設定佇列長度為 k 。

front: 從隊首獲取元素。如果隊列為空,返回 -1 。

rear: 獲取隊尾元素。如果隊列為空,返回 -1 。

enqueue(value): 向迴圈佇列插入乙個元素。如果成功插入則返回真。

dequeue(): 從迴圈佇列中刪除乙個元素。如果成功刪除則返回真。

isempty(): 檢查迴圈佇列是否為空。

isfull(): 檢查迴圈佇列是否已滿。

利用上述要求,編寫迴圈佇列,具體**如下:

#include "stdafx.h"

#include #include using namespace std;

class mycircularqueue

//向迴圈佇列中插入乙個元素,操作成功,返回true

bool enqueue(int value)

//若是空佇列,則將初始位置設定為0

if (isempty())

//將尾部後移一位

p_end = (p_end + 1) % size;

data[p_end] = value;

return true;

} //從迴圈佇列中刪除乙個元素,操作成功,返回true

bool dequeue()

if (p_start == p_end)

p_start++;

return true;

} //獲取佇列中的首部

int font()

return data[p_start];

} //獲取佇列中的尾部

int rear()

return data[p_end];

} //判斷是否空佇列

int isempty()

//判斷是否滿佇列

bool isfull()

};int main()

{ mycircularqueue mp(5);

mp.enqueue(1);

mp.enqueue(3);

mp.enqueue(4);

mp.enqueue(2);

mp.enqueue(7);

cout《最後輸出為1,1,7,0,2,0

參考:

資料結構學習一佇列整理

class myqueue 入隊成功了,返回true public boolean enqueue int x 出隊,成功返回true public boolean dequeue p start return true 獲取隊首元素 public intfront c判斷佇列是否為空 public...

常用資料結構之一佇列

常用資料結構之一佇列 佇列是一種特殊的 線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。佇列的資料元素又稱為佇列元素。在佇...

資料結構與演算法(一) 佇列

佇列是一種特殊的線性表。佇列元素的進出遵循 先進先出 原則 即只允許在前端 front 也就是隊頭進行刪除操作,而只能在後端 rear 也就是隊尾進行插入操作。如圖所示 author huang date 2020 06 11 16 28 description 用陣列模擬佇列 public cla...