• 队列


    1.概念

          队列是一种先进先出(FIFO)的线性结构。

    2.关于队列的相关名词

    • 队头:进行删除数据的端
    • 队尾:进行添加数据的端
    • 入列:添加数据
    • 出列:取出数据
    • 空队列:没有存储数据

    3.工作原理

          队列使用了两个指针,一个指向队头,负责对数据进行删除操作;一个指向队尾,负责对数据进行添加操作。最好理解的例子就是去排队,比如去食堂打饭,先来的肯定先排在最前面,当打完饭他就得离开这条队伍,即出列;然后他后面的人就继续走上去打饭,而后来的人需要从这条队伍的尾部排起,即入列。别跟我扯你能插队。

    4.Java中使用队列

          java有提供Queue,最符合普通的队列是它的一个实现类:linkedList,你没看错,就是它,它是一个双向链表实现的,所以使用好方法即可做为栈,也可以作为队列来使用。

    5.代码

    import java.util.LinkedList;
    import java.util.Queue;
    public class TestQueen {
        public static void test1() {
            LinkedList<Integer> queue = new LinkedList<Integer>();
            // 入列,添加到队尾
            queue.add(1);
            queue.add(2);
            queue.add(3);
            queue.add(4);
            // 使用add或者offer都可以,两者有一个区别,如果当队列满列了,使用add添加数据则会抛出异常,使用offer会返回false
            queue.offer(5);
            while(!queue.isEmpty()) {
                // 出列,删除队头的数据
                System.out.print(queue.poll() + " ");
            }
            System.out.println();
        }
    
        public static void main(String[] args) {
            test1();
        }
    }
  • 相关阅读:
    解决VMwave下卡死的办法
    深度探索C++对象模型第四章:函数语义学
    cc
    tbb库的使用
    10内核同步方法
    哈希
    django 和restful framework 初始配置轻松搞定
    linux有趣动画--代码雨
    linux有趣开机图标--佛祖保佑
    Socket是什么,通俗易懂点说
  • 原文地址:https://www.cnblogs.com/flunggg/p/12184646.html
Copyright © 2020-2023  润新知