2、循环数组队列

Java算法与数据结构入门——数组队列

普通数组队列

是一种数据结构,遵守着“先进先出”的原则,是只允许在一端进行插入操作,而在另一端进行删除操作的线性表,有点类似我们生活排队的操作,而这次我们在这里讨论的是以数组为原型组成的“队列”

class ArrayQueue{
   
    private int maxSize; //定义队列最大容纳数
    private int front; //定义队列头指针 一般为-1
    private int rear; //定义队列尾指针
    private int[] arr; // 在初始化的时候,根据最大容纳数产生一个数组
}

首先我们先定义一个数组队列,并在下面定义几个对数组的操作

第一 、创建队列操作

在入队列的操作中,需要有以下思考

(1)存入数据后,尾指针后移,并当front == rear时,即表示队列中的数据为空(或者说已经消费完了)

(2)当尾指针rear小于队列的最大下标“maxSize-1”,则将数据存放于队列中,否则则无法存放数据

那么接下来我们根据数组队列,写一个构造器

public ArrayQueue(int maxSize) {
   
        this.maxSize = maxSize;
        arr = new int[maxSize];
        front = -1;
        rear = -1;
    }

并将头指针和尾指针都定义为-1,意为空队列。

并根据上面的思考,分别写出两个判断队列为空或队列为满的方法

public boolean isFull(){
   
       return rear == maxSize-1;
    }

    public  boolean isEmpty(){
   
        return front == rear ;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值