Java数据结构与算法2(面向对象栈结构-出栈、入栈)
package Stack;
import java.util.Arrays;
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 void pop(){
if(elements.length==0){
throw new RuntimeException("stack is empty!");
}
int[] newArr = new int[elements.length-1];
for(int i = 0 ; i <newArr.length;i++){
newArr[i] = elements[i];
}
elements = newArr;
}
public int peek(){
if(elements.length==0){
throw new RuntimeException("stack is empty!");
}
return elements[elements.length-1];
}
public boolean isEmpty(){
return elements.length==0;
}
public void show(){
System.out.println(Arrays.toString(elements));
}
public static void main(String[] args) {
MyStack myStack = new MyStack();
myStack.push(0);
myStack.push(1);
myStack.push(2);
myStack.push(3);
myStack.show();
myStack.pop();
myStack.show();
System.out.println(myStack.peek());
System.out.println(myStack.isEmpty());
}
}