public class MyStack {
/**
* 栈底层是数组实现
*栈顶top,为-1时,栈为空
*/
private long []arr;
private int top;
public MyStack(){
arr=new long[10];
top=-1;
}
public MyStack(int maxsize){
arr=new long[maxsize];
top=-1;
}
/*入栈*/
void push(int value){
arr[++top]=value;
}
/*出栈*/
long pop(){
return arr[top--];
}
/*查看栈顶元素*/
long top(){
return arr[top];
}
/*判断是否为空*/
boolean isEmpty(){
return top==-1;
}
/*判断栈是否满了*/
boolean isFull(){
return top==arr.length-1;
}
}
public class Test {
public static void main(String[] args) {
MyStack ms=new MyStack(4);
ms.push(1);
ms.push(2);
ms.push(3);
ms.push(4);
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
System.out.println(ms.top());
ms.pop();
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
System.out.println(ms.top());
}
}