1、代码如下
public class SequenceQueue{
final int MaxSize=10;
private T queueArray[];
private int front,rear;
//构造一个空的队列
public SequenceQueue() {
front = rear = 0;
queueArray = (T[]) new Object[MaxSize];
}
//在队列的队尾插入一个新元素
public void EnQueue(T obj){
if((rear+1)%queueArray.length==front){
T[] p=(T[])new Object[queueArray.length*2];
if(rear==((T[])queueArray).length-1)
{
for(int i=1;i<=rear;i++)
p[i]=queueArray[i];
}
else{
int i,j=1;
for(i=front+1;i
二、测试代码如下:
public class testSequenceQueue {
public static void main(String[] args) {
SequenceQueue Q = new SequenceQueue<>();
int[] a = {1,4,6,23,45,78,25};
for(int i = 0;i < a.length;i++){
Q.EnQueue(a[i]);
}
System.out.println("原始队列数据为:");
Q.nextOrder();
Q.DeQueue();
System.out.println("执行删除操作后情况为:");
Q.nextOrder();
System.out.println("队列长度为:" + Q.size());
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)