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());
            }
        }
    }
  • 相关阅读:
    Running APP 使用说明
    Android 控件八 WebView 控件
    Android 控件七 ImageView 控件
    Android 控件六 CheckBox 控件
    Android 控件五 RadioButton 控件
    Android 控件四 EditText 控件
    Android 控件三 TextView 控件实现 Button
    Android 控件二 Button
    Android 基础控件演示实例
    Android 控件一 TextView
  • 原文地址:https://www.cnblogs.com/msymm/p/9751806.html
Copyright © 2011-2022 走看看