实现栈的思路
1.使用数组来模拟栈
2.定义一个top模拟栈顶
3.入栈时,top++,出站时top–
数组模拟栈
package zhangs.stack;
public class Stack {
public static void main(String[] args) {
Mystack mystack = new Mystack(5);
mystack.push(1);
mystack.push(2);
mystack.push(3);
mystack.push(4);
mystack.push(5);
mystack.show();
}
}
class Mystack{
private int top;
private int maxsize;
public int[] sta;
public Mystack(int maxsize) {
this.maxsize = maxsize;
sta = new int[maxsize];
top = -1;
}
public boolean isnull(){
return top == -1;
}
public boolean isfull(){
return top == maxsize - 1;
}
public void push(int number){
if (top == maxsize-1){
System.out.println("栈满,无法加入");
return;
}
top++;
sta[top] = number;
}
public int pop(){
if (isnull()){
throw new RuntimeException("栈空");
}
top--;
return sta[top+1];
}
public void show(){
if(isnull()){
System.out.println("栈空");
}
for (int i = top; i >= 0; i--) {
System.out.println(sta[i]);
}
}
}