• 九 、循环队列的java实现


    原理:

    接上一回队列的问题,上节队列弹出之后再插入会报出数组越界。所以这节改成循环队列。

    所谓循环队列就是删除到队尾后重新指向队头,插入数据满了之后重新指向队头,实现一个循环。

    运行结果图:

    可以看出弹出全部的数据后,是可以重新插入数据的。而且重新插入的数据是可以重新弹出的。因此这个循环队列是有效的!!!

    下面甩出源代码,其实也就是在上节队列的基础上对于插入数据和删除数据进行一个判断。

    public class MycycleQueue {
    private int[] array; //底层数组
    private int elements; //有效数据个数
    private int font ; //队头
    private int end ; //队尾

    public MycycleQueue() {
    // TODO Auto-generated constructor stub
    array = new int[5];
    elements =0;
    font = 0;
    end =0;
    }
    public MycycleQueue(int Maxsize) //重载构造
    {
    array = new int[Maxsize];
    elements =0;
    font = 0;
    end =0;
    }
    public void insert(int value) //插入数据
    {
    if(end == array.length)
    end = 0;
    array[end++] =value;
    elements++;

    }

    public int remove() //删除数据
    {
    if(font == array.length)
    font =0;
    elements--;
    return array[font++];
    }
    public void peek() //查看队头数据
    {
    System.out.println(array[font]);
    }
    public boolean IsEmpty() //判断是否为空
    {
    return elements ==0;
    }
    public boolean IsFull() //判断是否为满
    {
    return elements == array.length;
    }
    }

  • 相关阅读:
    Java attack
    Java attack
    Java attack
    Java attack
    Java attack
    Java attack -Java 中的集合
    Java attack
    迟到的《Cashflow》游戏感悟
    三读《富爸爸穷爸爸》
    安装vue开发环境→安装淘宝镜像的时候报错
  • 原文地址:https://www.cnblogs.com/fyz666/p/8458227.html
Copyright © 2020-2023  润新知