显示队列内容

来源:互联网 发布:unity3d游戏场景制作 编辑:程序博客网 时间:2024/05/16 01:06

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("");    }}
1 0
原创粉丝点击