栈-java代码

import java.util.Arrays;

public class StackDemo {
    
    private int maxSize;
    private long[] stackArray;
    private int top;
    
    // 构造器
    public StackDemo(int s){
        // 初始化栈
        maxSize = s;
        stackArray = new long[maxSize];
        top = -1;
    }
    // 入栈
    public void push(long element){
        
        stackArray[++top] = element;
    }
    // 出栈
    public long pop(){
        
        long temp = stackArray[top];
        // 还原为默认值
        stackArray[top--] = 0;
        System.out.println(Arrays.toString(stackArray));
        return temp;
    }
    // 弹出栈顶值
    public long pick(){
        
        return stackArray[top];
    }
    // 判断栈是否已满
    public boolean isFull(){
        
        return top==maxSize-1;
    }
}

栈,先进后出可以想象成枪的弹夹。

栈有很多用途,比如可以用来“单词逆序”、“字符串匹配”(具体案例可参考数据结构与算法java版)

posted @ 2015-09-15 21:20  orlion  阅读(164)  评论(0编辑  收藏  举报