題目:
思路:不是每次都進行數字搬移(直到後面沒空間了再一次性搬移到前面)
//陣列中實現對列
class
mycircularqueue
/** insert an element into the circular queue. return true if the operation is successful. */
public
boolean
enqueue
(int value)
array[rear]
= value;
//代表乙個值
rear =
(rear +1)
% array.length;
size++
;/*=array[size]=val;size++;
if(size==array.length)
*/return
true;}
/** delete an element from the circular queue. return true if the operation is successful. */
public
boolean
dequeue()
front =
(front +1)
% array.length;
//出佇列front往後走乙個
size--
;return
true;}
/** get the front item from the queue. */
public
intfront()
return array[front];}
/** get the last item from the queue. */
public
intrear()
int index =
(rear + array.length -1)
% array.length;
return array[index];}
/** checks whether the circular queue is empty or not. */
public
boolean
isempty()
/** checks whether the circular queue is full or not. */
public
boolean
isfull()
}/**
* your mycircularqueue object will be instantiated and called as such:
* mycircularqueue obj = new mycircularqueue(k);
* boolean param_1 = obj.enqueue(value);
* boolean param_2 = obj.dequeue();
* int param_3 = obj.front();
* int param_4 = obj.rear();
* boolean param_5 = obj.isempty();
* boolean param_6 = obj.isfull();
*/
力扣 設計迴圈佇列
設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是...
力扣第622題 設計迴圈佇列
設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是...
力扣 探索佇列 設計迴圈佇列
題目鏈結 題目描述 設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩 衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在...