public class SqQueue {
int[] data;
int front, rear;
SqQueue() {
data = new int[30];
front = rear = -1;
}
boolean empty() {
return front == rear;
}
boolean enQueue(int e) {
if(rear == 29)
return false;
rear++;
data[rear] = e;
return true;
}
int[] deQueue() {
int[] arr = new int[2];
if(front == rear) {
arr[0] = 0;
return arr;
}
arr[0] = 1;
front++;
arr[1] = data[front];
return arr;
}
void display() {
for(int i=front+1; i<=rear; i++) {
if(i != rear) {
System.out.print(data[i] + "->");
} else {
System.out.println(data[i]);
}
}
}
public static void main(String[] args) {
SqQueue sq = new SqQueue();
System.out.println(sq.empty());
sq.enQueue(4);
sq.enQueue(5);
sq.display();
sq.deQueue();
sq.deQueue();
System.out.println(sq.empty());
sq.display();
sq.enQueue(1);
sq.enQueue(3);
sq.display();
sq.deQueue();
sq.display();
sq.enQueue(2);
sq.deQueue();
sq.display();
System.out.println(sq.empty());
}
}
结果:
true
4->5
true
1->3
3
2
falseps:1、队空条件为 front==rear
2、队满条件为rear==maxSize-1
3、队尾指针总是指向队列中队尾的元素,而队头指针总是指向队列中队头元素的前一个元素。
本文详细介绍了使用Java实现队列的基本操作,包括队列的初始化、判断队列是否为空、队尾插入元素、队首删除元素以及遍历队列等核心功能。

被折叠的 条评论
为什么被折叠?



