O(∩_∩)O哈哈~第一次用Java写类。忽然感觉面向对象有的时候写起来感觉很自然。不过在ACM比赛基本不要啥面向对象。贴代码吧。
class Queue{
private int rear;
private int front;
private int []element;
private int maxSize;
public Queue(){
maxSize = 100;
element = new int [maxSize];
rear = 0;
front = 0;
}
public Queue(int size){
maxSize = size;
element = new int [size];
rear = 0;
front = 0;
}
void makeEmpty(){
rear = front = 0;
}
boolean empty(){
return front == rear;
}
boolean isFull(){
return front == (rear + 1) % maxSize;
}
int size(){
return (rear - front + maxSize) % maxSize;
}
boolean push(int num){
if (!isFull()) {
element[rear] = num;
rear = (rear + 1) % maxSize;
return true;
} else {
return false;
}
}
int front(){
if (!empty()) {
return element[front];
} else {
return -1;
}
}
boolean pop(){
if (!empty()) {
front = (front + 1) % maxSize;
return true;
} else {
return false;
}
}
}
public class Main{
public static void main(String[] args){
Queue queue = new Queue(101);
for (int i = 0; i < 100; i++) {
queue.push(i);
}
for (int i = 0; i < 100; i++) {
System.out.print(queue.front() + " ");
queue.pop();
}
System.out.println();
System.out.println(queue.empty());
System.out.println(queue.isFull());
}
}