数据结构之堆栈
数据结构之堆栈
栈:是一种只能在一个位置进行数据操作的数据结构
使用top相当于游标,使用top标识栈顶,弹出的过程,就是弹出top所在的位置的数据,然后将top向下移动
public class Stack { //top标记栈顶 int top; //size表示栈的深度 int maxSize; //data存放栈中的数据 Object[] data; //对栈进行初始化 public Stack(int size){ this.maxSize = size; top = -1; data = new Object[maxSize]; } //判断栈是否满了 public boolean isFull(){ return top + 1 == maxSize; } //往栈压数据 public void push(Object obj){ if(isFull()){ System.out.println("栈已满"); return; } data[++top] = obj; } //判断栈是否为null public boolean isEmpty(){ return top == -1; } //从栈拿出数据 public Object pop()throws Exception{ if(isEmpty()){ throw new Exception("栈是空"); } return data[top--]; } public static void main(String[] args) throws Exception { Stack stack = new Stack(10); stack.push("zhangsan"); stack.push("lisi"); stack.push("wangwu"); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); } }