1,栈先进后出
2, java版栈操作
3,中间不能插入数据
public class MyStack {
//栈的底层用数组来存储数据,每次压入数据在数据最底,
int[] elements;
public MyStack() {
elements = new int[0];
}
//压入元素
public void push(int element) {
int[] newArr = new int[elements.length + 1];
for (int i = 0; i < elements.length; i++) {
newArr[i] = elements[i];
}
newArr[elements.length] = element;
elements = newArr;
}
//取出栈顶元素
public int pop(){
if(elements.length==0){
throw new RuntimeException("stack is empty");
}
int element=elements[elements.length-1];
int[] newArr=new int[elements.length-1];
for(int i=0;i<elements.length-1;i++){
newArr[i]=elements[i];
}
elements=newArr;
return element;
}
//查看栈顶
public int peek(){
return elements[elements.length-1];
}
}