題目鏈結
題目描述:
設計你的迴圈佇列實現。 迴圈佇列是一種線性資料結構,其操作表現基於 fifo(先進先出)原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為「環形緩
衝器」。
迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但
是使用迴圈佇列,我們能使用這些空間去儲存新的值。
你的實現應該支援如下操作:
mycircularqueue
(k): 構造器,設定佇列長度為 k 。
front: 從隊首獲取元素。如果隊列為空,返回 -
1 。rear: 獲取隊尾元素。如果隊列為空,返回 -
1 。enqueue
(value)
: 向迴圈佇列插入乙個元素。如果成功插入則返回真。
dequeue()
: 從迴圈佇列中刪除乙個元素。如果成功刪除則返回真。
isempty()
: 檢查迴圈佇列是否為空。
isfull()
: 檢查迴圈佇列是否已滿。
c++實現mycircularqueue類:
class
mycircularqueue
/** insert an element into the circular queue. return true if the operation is successful. */
bool
enqueue
(int value)}//
//itail=0
//ihead=1
//size=0
/** delete an element from the circular queue. return true if the operation is successful. */
bool
dequeue()
}/** get the front item from the queue. */
intfront()
}/** get the last item from the queue. */
intrear()
}/** checks whether the circular queue is empty or not. */
bool
isempty()
/** checks whether the circular queue is full or not. */
bool
isfull()
~mycircularqueue()
};
題目分析: 力扣 設計迴圈佇列
設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是...
力扣 622 設計迴圈佇列
設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是...
OJ題 設計迴圈佇列 力扣
題目 思路 不是每次都進行數字搬移 直到後面沒空間了再一次性搬移到前面 陣列中實現對列 class mycircularqueue insert an element into the circular queue.return true if the operation is successful...