zoukankan      html  css  js  c++  java
  • 九 、循环队列的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;
    }
    }

  • 相关阅读:
    安装 Docker Machine
    volume 生命周期管理
    data-packed volume container
    用 volume container 共享数据
    如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
    docker managed volume
    Data Volume 之 bind mount
    Docker 的两类存储资源
    外部世界如何访问容器?
    容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
  • 原文地址:https://www.cnblogs.com/fyz666/p/8458227.html
Copyright © 2011-2022 走看看