栈
- 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
数组实现栈
- 代码如下
public class ArrayStack {
private int maxSize;
private int top;
private int[] arr;
// 约定栈最大深度
public ArrayStack(int maxSize) {
this.maxSize = maxSize;
arr = new int[maxSize];
}
// 判断是否已满
public boolean isFull() {
return maxSize <= top;
}
// 判断是否为空
public boolean isEmpty() {
return top <= 0;
}
// 入栈
public void push(int n) {
if (isFull())
throw new RuntimeException("man");
arr[top] = n;
++top;
}
// 出站
public int pop() {
if (isEmpty())
throw new RuntimeException("kong");
return arr[--top];
}
// 遍历栈
public void list() {
try {
for (; ; ) {
System.out.println(pop());
}
} catch (RuntimeException r) {
}
}
}
总结
加油噢!