
3.2.2 (1)顺序队 页码P55
package hicc.ds.c02_linear2;
import java.util.Arrays;
public class SeQueue { //循环队列,使用num记录元素个数判断队满
private int maxSize = 10; //最大存储长度
private Object[] data = new Object[maxSize]; //队列数据的存储区
private int front, rear; //队首队尾
private int num; //队列中元素的个数
public SeQueue() { //
front = rear = maxSize-1;
num = 0;
}
public int inSeQueue(Object x) { //入队算法
if (num == maxSize) {
return 0;
} else {
rear = (rear+1) % maxSize;
data[rear] = x;
num++;
return 1;
}
}
public Object outSeQueue() { //出队算法
if (num == 0) {
return null;
} else {
front = (front+1) % maxSize;
Object x = data[front];
num--;
return x;
}
}
public boolean emptySeQueue() { //对空判别
if (num == 0) {
return true;
} else {
return false;
}
}
public void showData() { //展示队列数据
System.out.println(Arrays.toString(new int[]{num, front, rear}));
System.out.println(Arrays.toString(data));
}
public static void main(String[] args) { //测试
SeQueue seQueue = new SeQueue();
seQueue.showData();
seQueue.inSeQueue('A');
seQueue.showData();
seQueue.inSeQueue('B');
seQueue.showData();
seQueue.inSeQueue('C');
seQueue.showData();
System.out.println(seQueue.outSeQueue());
seQueue.showData();
seQueue.inSeQueue('D');
seQueue.showData();
System.out.println(seQueue.outSeQueue());
seQueue.showData();
}
}
本文主要探讨Java中如何实现顺序队列的数据结构,详细讲解了相关概念和页码P55的重点内容。
1835

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



