留下筆記。
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...