zoukankan      html  css  js  c++  java
  • android java 堆栈的实现

    android和java不提供堆栈的实现,只提供了list,vector,deque得存储结构,对于以前做面向过程语言的程序员来说,总觉得缺少了些什么;

    Stack.java文件:

    public class Stack<T extends Object> {
        Vector<T> vector = new Vector();
    
        public T pop() {
            T t = null;
            if (!isBottom()) {
                t = vector.lastElement();
                int pos = vector.lastIndexOf(t);
    //            vector.remove(t);
                vector.removeElementAt(pos);
            }
            return t;
        }
    
        public void push(T t) {
            vector.addElement(t);
        }
    
        public boolean isBottom() {
            if (vector.isEmpty()) {
                return true;
            }
            return false;
        }
    
        public int size() {
            return vector.size();
        }
    }

    main.java文件:

    public class main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Stack<String> stack = new Stack<String>();
            stack.push("test1");
            stack.push("test2");
            stack.push("test3");
            System.out.println("size=" + stack.size());
            for (int iLoop = 0; iLoop < 4; iLoop++) {
                if (!stack.isBottom()) {
                    System.out.println(stack.pop());
                } else {
                    System.out.println("isbottom");
                }
            }
            System.out.println("size=" + stack.size());
    
        }
    
    }

    打印结果:

    size=3
    test3
    test2
    test1
    isbottom
    size=0

    以上结果实现了栈式管理的先入后出,由于其内部实现是vector方式所以其长度是动态增加的!

  • 相关阅读:
    团队第十天成果及燃尽图。
    团队第九天成果。
    团队第八天成果。
    各组建议。
    团队任务,团队报告。
    团队第六,七天成果。
    团队第五天成果
    最大连续子数组和(简单一维dp)
    小白鼠问题(海明码)
    JUnit练习
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5691820.html
Copyright © 2011-2022 走看看