Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - CPP - 622. Design Circular Queue
題目:

解答:
class MyCircularQueue {
private:
int max_size;
deque<int> q;
public:
MyCircularQueue(int k) {
max_size = k;
}
bool enQueue(int value) {
if (q.size() == max_size) {
return false;
}
q.push_back(value);
return true;
}
bool deQueue() {
if (q.size() == 0) {
return false;
}
q.pop_front();
return true;
}
int Front() {
if (q.size() == 0) {
return -1;
}
return q.front();
}
int Rear() {
if (q.size() == 0) {
return -1;
}
return q.back();
}
bool isEmpty() {
return q.empty();
}
bool isFull() {
return q.size() == max_size;
}
};
/**
* Your MyCircularQueue object will be instantiated and called as such:
* MyCircularQueue* obj = new MyCircularQueue(k);
* bool param_1 = obj->enQueue(value);
* bool param_2 = obj->deQueue();
* int param_3 = obj->Front();
* int param_4 = obj->Rear();
* bool param_5 = obj->isEmpty();
* bool param_6 = obj->isFull();
*/