美文网首页
数组模拟队列

数组模拟队列

作者: bigdata张凯翔 | 来源:发表于2020-12-10 15:08 被阅读0次
package com.itzkx.queue;

import java.util.concurrent.ExecutionException;

public class ArrayQueueDemo {
    public static void main(String[] args) {

    }
}
//使用数组模拟队列-编写一个ArrayQueue类
class ArrayQueue{
    private int maxSize; //表示数组的最大容量
    private int front;   //队列头
    private int rear;   //队列尾
    private int[] arr; //该数组用于存放数据,模拟队列

    //创建队列的构造器
    public ArrayQueue(int arrMaxSize){
        maxSize = arrMaxSize;
        arr = new int[maxSize];
        rear = arr[-1];
        front= arr[-1];
    }

    //判断队列是否已满
    public boolean isFull(){
        return rear==maxSize-1;
    }

    //添加元素
     public void addQueue(int n){
         //先判断队列满了没
         if(isFull()){
             throw new RuntimeException("队列已满");
         }
         //尾指针+1
         rear++;
         //赋值
         arr[rear]=n;
     }
    ////判断队列是否为空
    public boolean isEmpty(){
        return rear==front;
    }

    //取出元素
    public void showQueue(){
        if(isEmpty()){
            //通过抛出异常
            throw new RuntimeException("队列为空,不可以再取");
        }
        //取出元素
        for (int i=0;i<arr.length;i++){
            System.out.printf("arr[%d]=%d\n",i,arr[i]);
        }
    }


    //显示队列的头部,不是取出数据
    public int headQueue(){
        //判断数据是否为空
        if(isEmpty()){
            //通过抛出异常
            throw new RuntimeException("队列为空,不可以再取");
        }
        return arr[front+1];
    }
}

相关文章

  • HDUOJ-1026 Ignatius and the Prin

    解题思路 广搜 使用队列来模拟广搜 数组模拟队列 使用1维数组来模拟队列,head为当前队列头,tail-1为当前...

  • 数据结构之队列

    什么是队列 队列是一个有序列表, 可以用数组或链表实现 先入先出 使用数组模拟队列和环形队列 用数组模拟队列 思路...

  • 队列ADT

    /***************利用数组模拟循环队列***************/ #include "stdi...

  • 数组模拟队列

    public class ArralQuene {public int arr[];private int fro...

  • 数组模拟队列

  • javascript第七章

    栈和队列: js中没有专门的栈和队列类型,都是用普通该数组模拟的。 何时: 只要希望按照顺序使用数组元...

  • 数组模拟环形队列

    思路 代码 package com.atguigu.queue; import java.util.Scanner...

  • 数组模拟环形队列

  • 数组模拟队列和环形队列

    方式均根据先进先出的思想,按照双指针的方式实现;首先指针一 rear 代表了队列尾端,每新增一个数据则放置在队列尾...

  • JavaScript⑦数组队列

    栈和队列: js中没有专门的栈和队列类型,都是用普通该数组模拟的。 何时: 只要希望按照顺序使用数组元素时 栈: ...

网友评论

      本文标题:数组模拟队列

      本文链接:https://www.haomeiwen.com/subject/skfrgktx.html