顺序表实现栈 public class MyStack { private int capacity = 100; private int[] data = new int[capacity]; private int size = 0; //入栈 public void push(int val){ //大于长度之后进行扩容 if(size >= data.length){ //进行扩容 int[] newData = new int[capacity*2]; for (int i = 0; i < capacity; i++) { newData[i] = data[i]; } data = newData; } data[size] = val; size++; } //出栈 public Integer pop(){ if(size == 0){ return null; } //返回的元素是栈顶元素,size是数组本身长度,小标需要减一; int result = data[size-1]; size--; return result; } //取栈顶元素 public Integer peek(){ if(size == 0){ return null; } return data[size-1]; } } 利用链表实现栈 在这里插入代码片