建立顺序栈,在顺序栈上实现入栈出栈操作,JAVA
时间: 2024-10-10 15:07:06 浏览: 45
在Java中,我们可以使用数组或动态数组(ArrayList)来创建一个简单的顺序栈(也称为线性栈)。这里是一个基本的实现:
```java
import java.util.ArrayList;
public class SimpleStack {
private ArrayList<Integer> stack; // 存储元素的数组
// 初始化栈容量
public SimpleStack(int capacity) {
stack = new ArrayList<>(capacity);
}
// 入栈操作(添加元素)
public void push(int item) {
if (stack.size() < stack.capacity()) {
stack.add(item); // 如果栈未满,直接添加
} else {
throw new IllegalStateException("Stack is full");
}
}
// 出栈操作(移除并返回顶部元素,如果为空则抛异常)
public int pop() {
if (!isEmpty()) {
return stack.remove(stack.size() - 1); // 返回并移除最后一个元素
} else {
throw new IllegalStateException("Stack is empty");
}
}
// 查看栈顶元素(但不移除)
public int peek() {
if (!isEmpty()) {
return stack.get(stack.size() - 1); // 返回但不移除顶部元素
} else {
throw new IllegalStateException("Stack is empty");
}
}
// 判断栈是否为空
public boolean isEmpty() {
return stack.isEmpty();
}
// 获取栈的大小(元素个数)
public int size() {
return stack.size();
}
// 清空栈
public void clear() {
stack.clear();
}
}
```
在这个实现中,我们定义了一个`SimpleStack`类,包含了常见的栈操作如`push`(入栈)、`pop`(出栈)、`peek`(查看栈顶元素)、`isEmpty`(判断是否为空)以及辅助方法`size`和`clear`。
阅读全文