ArrayStack.java
public class ArrayStack {
//栈的默认大小
private final int defaultSize = 10;
//栈的大小
private int size;
//栈顶的位置
private int top;
//元素存储在数组
private int[] datas;
//无参构造函数
public ArrayStack(){
initStack(defaultSize);
System.out.println("栈已初始化");
}
//有参构造函数
public ArrayStack(int sizenum){
initStack(sizenum);
System.out.println("栈已初始化");
}
//初始化栈
private void initStack(int sizenum){
size = sizenum;
top = 0;
datas = new int[size];
}
//清栈
public void clear(){
top = 0;
System.out.println("栈已清空");
}
//压栈
public void push(int data){
if(top >= size){
System.out.println("栈溢出");
return;
}
datas[top++] = data;
System.out.println(data+"已经压栈");
}
//出栈
public void pop(){
if(isEmpty()){
System.out.println("栈空");
return;
}
System.out.println(datas[--top]+"已经出栈");
}
//得到栈顶元素
public void getTop(){
if(isEmpty()){
System.out.println("栈空");
return;
}
System.out.println("栈顶元素为"+datas[top-1]);
}
//检查栈是否空
public Boolean isEmpty(){
return top == 0 ;
}
}
main.java
public class main {
public static void main(String[] args) {
ArrayStack stack = new ArrayStack(5);
stack.isEmpty();
stack.getTop();
stack.push(5);
stack.push(4);
stack.push(3);
stack.push(2);
stack.push(1);
stack.push(6);
stack.pop();
stack.pop();
stack.getTop();
stack.clear();
stack.pop();
}
}