Java语言使用数组实现队列

class Queue{
private int maxSize;
long[] queArray;
int front;//队头
int rear;//队尾
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 void  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;
}

    public void display() {  
        //System.out.print("队列为:");  
        if (nItems == 0) {  
            System.out.println("空。");  
            return;  
        }  
        else if (rear >= front) {  
            for (int i = front; i <= rear; i++) { //常规,队头在下,队尾在上
            if(queArray[i]!=0) {
            System.out.print(queArray[i] + " ");  
            }  
            }
        } else {  
            for (int i = front; i < maxSize; i++) {  //先输出队头到最高下标,再输出最小下标到队尾
            if(queArray[i]!=0) {
            System.out.print(queArray[i] + " ");  
           
            }  
            for (int i = 0; i <= rear; i++) {  
            if(queArray[i]!=0) {
            System.out.print(queArray[i] + " ");  
            }
            }  
        }  
        System.out.println();  
    }  
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值