Skip to content

Instantly share code, notes, and snippets.

@suziewong
Created October 26, 2022 13:20
Show Gist options
  • Save suziewong/2e6ae852078b4ff176acb7783937021b to your computer and use it in GitHub Desktop.
Save suziewong/2e6ae852078b4ff176acb7783937021b to your computer and use it in GitHub Desktop.
// 基于数组实现的顺序栈
public class ArrayStack {
private String[] items; // 数组
private int count; // 栈中元素个数
private int n; //栈的大小
// 初始化数组,申请一个大小为n的数组空间
public ArrayStack(int n) {
this.items = new String[n];
this.n = n;
this.count = 0;
}
// 入栈操作
public boolean push(String item) {
// 数组空间不够了,直接返回false,入栈失败。
if (count == n) return false;
// 将item放到下标为count的位置,并且count加一
items[count] = item;
++count;
return true;
}
// 出栈操作
public String pop() {
// 栈为空,则直接返回null
if (count == 0) return null;
// 返回下标为count-1的数组元素,并且栈中元素个数count减一
String tmp = items[count-1];
--count;
return tmp;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment