栈的特点: 先进后出,只能访问栈顶的数据
- 我们需要先声明一个数组来模拟栈
- 通过一个指针来让数据出栈和入栈
代码
public class Stack {
//声明一个数组
private int[] arr=new int[10];
//声明头结点
private int flag;
//添加数据
public void add(int x){
// 判断栈是否已满
if (flag==arr.length){
int[] brr=new int[arr.length*2];
for (int i = 0; i < brr.length; i++) {
brr[i]=arr[i];
}
arr=brr;
}
arr[flag]=x;
flag++;
}
//获取数据
public Integer get() {
if (flag==0){
return null;
}
int re=arr[flag-1];
flag--;
return re;
}
}
输出代码
public class Main {
public static void main(String[] args) {
Stack s=new Stack();
for (int i=0;i<10;i++){
s.add(i);
}
for (int i = 0; i < 11; i++) {
System.out.println(s.get());
}
}
}