先进后出
public class MyStack {
private int maxSize;
private long arr [];
private int top;
public MyStack(int maxSize) {
this.maxSize = maxSize;
arr = new long [maxSize] ;
top = -1;
}
/**
* 压入数据
* @param value
*/
public void push(long value) {
arr [++ top] = value;
}
/**
* 弹出数据
* @return
*/
public long pop () {
return arr [top--];
}
/**
* 访问栈顶数据
* @return
*/
public long peek() {
return arr[top];
}
/**
* 判断是否为空
* @return
*/
public boolean isEmpty() {
return (top == -1);
}
/**
* 判断是否满了
* @return
*/
public boolean isFull() {
return (top == (maxSize -1));
}
}
测试:
public class MyStackTest {
public static void main(String[] args) {
MyStack myStack = new MyStack(6);
System.out.println("是否为空:" + myStack.isEmpty());
myStack.push(50);
myStack.push(40);
myStack.push(30);
myStack.push(20);
myStack.push(10);
myStack.push(0);
while(!myStack.isEmpty()) {
System.out.println(myStack.pop());
}
System.out.println("是否为空:" + myStack.isEmpty());
System.out.println("是否满了:" +myStack.isFull());
myStack.push(500);
myStack.push(400);
myStack.push(300);
myStack.push(200);
myStack.push(100);
myStack.push(0);
while(!myStack.isEmpty()) {
System.out.println(myStack.pop());
}
}
}