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方式所以其长度是动态增加的!

  • 相关阅读:
    HTTP
    spark-architecture
    SPARK SQL
    《算法:第四版》课后练习 1.1 答案
    随机生成六位不重复数值
    【转】策略与机制分离
    【转】Linux内核源码分析方法
    【转】机制与策略
    软件工程中的现代方法
    编码通用缩写表
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5691820.html
Copyright © 2011-2022 走看看