zoukankan      html  css  js  c++  java
  • 队列的实现——java

    同样实现方法有两种:

    1. 数组的实现,可以存储任意类型的数据(略);

    2. Java的 Collection集合 中自带的"队列"(LinkedList)的示例:

    import java.util.Stack;
    
    /**
     * 用“栈”实现队列
     *
     * @author skywang
     */
    public class StackList<T> {
    
        // 向队列添加数据时:(01) 将“已有的全部数据”都移到mIn中。 (02) 将“新添加的数据”添加到mIn中。
        private Stack<T> mIn  = null;
        // 从队列获取元素时:(01) 将“已有的全部数据”都移到mOut中。(02) 返回并删除mOut栈顶元素。
        private Stack<T> mOut = null;
        // 统计计数
        private int mCount = 0;
    
        public StackList() {
            mIn = new Stack<T>();
            mOut = new Stack<T>();
            mCount = 0;
        }
    
        private void add(T t) {
            // 将“已有的全部数据”都移到mIn中
            while (!mOut.empty())
                mIn.push(mOut.pop());
    
            // 将“新添加的数据”添加到mIn中
            mIn.push(t);
            // 统计数+1
            mCount++;
        }
    
        private T get() {
            // 将“已有的全部数据”都移到mOut中
            while (!mIn.empty())
                mOut.push(mIn.pop());
            // 统计数-1
            mCount--;
    
            // 返回并删除mOut栈顶元素
            return mOut.pop();
        }
    
        private int size() {
            return mCount;
        }
        private boolean isEmpty() {
            return mCount==0;
        }
    
        public static void main(String[] args) {
            StackList slist = new StackList();
    
            // 将10, 20, 30 依次推入栈中
            slist.add(10);
            slist.add(20);
            slist.add(30);
    
            System.out.printf("isEmpty()=%b
    ", slist.isEmpty());
            System.out.printf("size()=%d
    ", slist.size());
            while(!slist.isEmpty()) {
                System.out.printf("%d
    ", slist.get());
            }
        }
    }
  • 相关阅读:
    nohup
    MYSQL提权总结
    udf提权方法和出现问题汇总
    windows 2012 抓明文密码方法
    用CPAU替代RUNAS
    MS15-034 HTTP.sys (IIS) DoS And Possible Remote Code Execution – AGGIORNAMENTO CRITICO
    php注入专题
    Mysql 另类盲注中的一些技巧
    Elasticsearch Groovy任意命令执行漏洞EXP
    linux好用的擦屁股工具
  • 原文地址:https://www.cnblogs.com/msymm/p/9751806.html
Copyright © 2011-2022 走看看