zoukankan      html  css  js  c++  java
  • 队列

    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();
        }
    }
  • 相关阅读:
    函数的运用
    CSS颜色透明渐变
    白手起家:推广网站二十四招
    关于真正免费下载铃声
    改变生活的方法
    Hang in there,just for you
    写的浪漫
    计算机常用词汇IT开发
    马云在《赢在中国》对创业者的经典点评
    怎样才能把自己的网站做好(引用经济学理论知识)[转]
  • 原文地址:https://www.cnblogs.com/flunggg/p/12184646.html
Copyright © 2011-2022 走看看