栈-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版)