美文网首页
java - 数据结构 队列queue

java - 数据结构 队列queue

作者: 小菜_charry | 来源:发表于2017-11-16 19:19 被阅读57次

1. 定义

队列(Queue),是一种线性存储结构。
它有以下几个特点:

    1. 先进先出
    1. 头删尾插

队列通常包括的两种操作:入队列 和 出队列。

2. 简单实现


public class ArrayQueue {

    private int[] mArray;
    private int mCount;

    public ArrayQueue(int sz) {
        mArray = new int[sz];
        mCount = 0;
    }

    // 将val添加到队列的末尾
    public void add(int val) {
        mArray[mCount++] = val;
    }

    // 返回“队列开头元素”
    public int front() {
        return mArray[0];
    }

    // 返回“队首元素值”,并删除“队首元素”
    public int pop() {
        int ret = mArray[0];
        mCount--;
        for (int i=1; i<=mCount; i++)
            mArray[i-1] = mArray[i];
        return ret;
    }

    // 返回“栈”的大小
    public int size() {
        return mCount;
    }

    // 返回“栈”是否为空
    public boolean isEmpty() {
        return size()==0;
    }

    @Override
    public String toString() {
        return "ArrayQueue{" +
                "mCount=" + mCount +
                ", mArray=" + Arrays.toString(mArray) +
                '}';
    }
}

测试:

public static void main(String[] args) {

    ArrayQueue queue = new ArrayQueue(5);
    for (int i = 0; i < 5; i++) {
        queue.add(i);
    }

    int front = queue.front();
    System.out.println("front :" + front);
    int pop = queue.pop();
    System.out.println("pop :" + pop);
    System.out.println(queue.toString());
}

结果:

front :0
pop :0
ArrayQueue{mCount=4, mArray=[1, 2, 3, 4, 4]}

相关文章

  • Java中的队列Queue总结

    标签(空格分隔): 数据结构 Java进阶 Java中的队列Queue 我们都知道队列(Queue)是一种先进先出...

  • Handler精讲

    讲解本技术点之前需要准备的技术点回顾 队列数据结构 数据结构-队列(queue) - CSDN博客 Java中的T...

  • Java数据类型

    Java数据结构中常用的数据结构包含如下8种: 1:数组(Array) 2:栈(Stack) 3:队列(Queue...

  • JAVA基础——Queue集合

    Queue集合 Queue用于模拟队列这种数据结构,队列FIFO的容器。队列的头部保存在队列中存放时间最长的元素,...

  • 数据结构-队列(Queue)-FIFO

    数据结构-队列(Queue)-FIFO 队列的接口设计 双端队列-Deque 循环队列-CircleQueue 双...

  • Queue Java 源码

    Queue 队列 队列是一个重要的数据结构,是一种特殊的线性表,特性是先进先出(FIFO)。Java中的队列是一个...

  • Java 中 Queue 接口学习

    Queue 是 java中的一个接口,在java.util包下面,意在实现数据结构中的队列,主要包含以下几种接口方...

  • java - 数据结构 队列queue

    1. 定义 队列(Queue),是一种线性存储结构。它有以下几个特点: 先进先出 头删尾插 队列通常包括的两种操作...

  • 队列

    java队列——queue详细分析

  • 队列:java中的队列有哪些?有什么区别

    参考Java中的队列都有哪些,有什么区别 Queue:基本上,一个队列就是一个先入先出(FIFO)的数据结构;Qu...

网友评论

      本文标题:java - 数据结构 队列queue

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