您的位置:首页 > 产品设计 > UI/UE

显示队列内容

2016-02-29 10:15 453 查看
4.1 为queue.java 程序(清单4.4)的Queue类中写一个方法,显示队列的 内容。注意这并不是要简单的显示出数组的内容。它要求按数据项插入的队 列的顺序,从第一个插入的数据项到最后一个插入的数据项显示出来。不要 输出因为在数组末端回绕而折成两半的样子。注意无论front和rear在什么位置上,都要正确显示出一个数据项和没有数据项的情况。

public class Queue {
private int maxSize;
private long[] queArray;
private int front;
private int rear;
private int nItems;

public Queue(int s){
maxSize=s;
queArray = new long[maxSize];
front=0;
rear=-1;
nItems=0;
}

public void insert(long j){
if(rear==maxSize-1)
rear=-1;
queArray[++rear]=j;
nItems++;
}

public long remove(){
long temp = queArray[front++];
if(front==maxSize)
front=0;
nItems--;
return temp;
}

public long peekFront(){
return queArray[front];
}

public boolean isEmpty(){
return (nItems==0);
}

public boolean isFull(){
return (nItems==maxSize);
}

public int size(){
return nItems;
}

//====================================================
//编程作业4.1
public void display(){
System.out.print("队列为:  ");
if(nItems==0){
System.out.println("空。 ");
return;
}
if(rear>=front){
for(int i =front;i<=rear;i++){
System.out.print(queArray[i]+" ");
}
}
else{
for(int i =front;i<maxSize;i++){
System.out.print(queArray[i]+" ");
}
for(int i =0;i<=rear;i++){
System.out.print(queArray[i]+" ");
}
}
System.out.println();
}

}


public class QueueApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue theQueue = new Queue(5);
theQueue.insert(10);
theQueue.insert(20);
theQueue.insert(30);
theQueue.insert(40);

theQueue.remove();
theQueue.remove();
theQueue.remove();

theQueue.insert(50);
theQueue.insert(60);
theQueue.insert(70);
theQueue.insert(80);
theQueue.display();

while(!theQueue.isEmpty()){
long n = theQueue.remove();
System.out.print(n);
System.out.print(" ");
}
System.out.println("");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  队列queue