今天学习了模拟栈的实现,下面直接看代码:
package ch03Stack;
public class MyStack {
private long[] arr;
private int maxsize;
private int top;
//构造方法
public MyStack(int maxsize){
arr = new long[maxsize];
top = -1;
}
// 压入数据
public void push(long value){
arr[++top] = value;
}
//弹出数据
public long pop(){
return arr[top--];
}
//访问栈顶元素
public long peek(){
return arr[top];
}
//判断栈是否为空
public boolean isEmpty(){
return (top == -1);
}
//判断栈是否满了
public boolean isFull(){
return (top == maxsize - 1);
}
}
测试类:
package ch03Stack;
public class TestStack {
public static void main(String[] args) {
MyStack ms = new MyStack(10);
ms.push(30);
ms.push(20);
ms.push(10);
ms.push(-10);
ms.push(-20);
ms.push(-30);
while(!ms.isEmpty()){
System.out.println(ms.pop());
}
}
}