在Java编程的世界里,栈(Stack)是一种常见的基础数据结构,类似于现实生活中的一摞书,后放的书籍要先取出。栈支持两种基本操作:push(入栈)和pop(出栈)。本文将深入浅出地讲解如何在Java中实现一个栈,包括基本概念、代码实现以及一些应用场景。
栈的基本概念
栈是一种后进先出(Last In, First Out, LIFO)的数据结构。
- push操作:将一个元素添加到栈顶。
- pop操作:从栈顶取出一个元素。
- peek操作:查看栈顶元素,但不取出。
- isEmpty操作:判断栈是否为空。
栈的代码实现
下面是使用Java实现栈的基本代码:
```java
public class Stack
private int maxSize; // 栈的最大容量
private T[] stackArray; // 栈的数组存储结构
private int top; // 栈顶指针
// 栈的构造函数
public Stack(int maxSize) {
this.maxSize = maxSize;
stackArray = (T[]) new Object[maxSize];
top = -1; // 初始化栈顶指针
}
// 判断栈是否为空
public boolean isEmpty() {
return top == -1;
}
// 判断栈是否已满
public boolean isFull() {
return top == maxSize - 1;
}
// 入栈操作
public void push(T value) {
if (!isFull()) {
stackArray[++top] = value;
} else {
System.out.println("