题目内容:
解题代码:
class MyCircularQueue {
int[] array;
int front = 0;
int rear = 0;
int count = 0;
public MyCircularQueue(int k) {
array = new int[k];
}
public boolean enQueue(int value) {
if(isFull()){
return false;
}
array[rear] = value;
rear++;
count++;
if(rear == array.length){
rear = 0;
}
return true;
}
public boolean deQueue() {
if(isEmpty()){
return false;
}
front++;
if(front == array.length){
front = 0;
}
count--;
return true;
}
public int Front() {
if(isEmpty()){
return -1;
}
return array[front];
}
public int Rear() {
if(isEmpty()){
return -1;
}
int m = ((rear - 1 + array.length) % array.length);
return array[m];
}
public boolean isEmpty() {
if(count == 0){
return true;
}
return false;
}
public boolean isFull() {
if(count == array.length){
return true;
}
return false;
}
}