package demo02;
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 pick(){
return elements[elements.length-1];
}
public boolean isEmpty(){
if(elements.length==0){
throw new RuntimeException("stack is empty");
}
return elements.length==0;
}
}
测试
package demo02;
import demo02.MyStack;
public class stackTest {
public static void main(String[] args) {
MyStack ms= new MyStack();
ms.push(8);
ms.push(5);
ms.push(7);
System.out.println(ms.pop());
System.out.println(ms.pop());
System.out.println(ms.isEmpty());
}
}
测试结果
