📅  最后修改于: 2023-12-03 15:31:58.855000             🧑  作者: Mango
Java中的堆栈类是一种数据结构,可以实现后进先出(LIFO)的算法。堆栈类通常用于存储临时数据,用于函数调用和子程序调用等。
Java中的堆栈类的实现可以使用数组或链表。在这里,我们将讨论使用数组实现的堆栈类。
我们可以使用Java中的数组来实现堆栈。我们需要定义一个数组来存储堆栈中的元素,以及一个整数变量来存储堆栈顶部的位置。位置指向堆栈中的元素。
以下是堆栈类的示例实现:
public class Stack {
private int maxSize;
private int[] stackArray;
private int top;
public Stack(int size) {
maxSize = size;
stackArray = new int[maxSize];
top = -1;
}
public void push(int value) {
if (top == maxSize - 1) {
System.out.println("Stack is full!");
} else {
top++;
stackArray[top] = value;
}
}
public int pop() {
if (top == -1) {
System.out.println("Stack is empty!");
return -1;
} else {
int value = stackArray[top];
top--;
return value;
}
}
public boolean isEmpty() {
return (top == -1);
}
public boolean isFull() {
return (top == maxSize - 1);
}
public int peek() {
if (top == -1) {
System.out.println("Stack is empty!");
return -1;
} else {
return stackArray[top];
}
}
}
使用堆栈类,您可以使用以下方法:
push()
- 向堆栈添加元素。pop()
- 从堆栈中删除元素并返回其值。isEmpty()
- 检查堆栈是否为空。isFull()
- 检查堆栈是否已满。peek()
- 返回堆栈顶部的元素而不将其删除。以下是使用堆栈类的示例:
Stack stack = new Stack(5);
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack.pop()); // 输出 3
System.out.println(stack.peek()); // 输出 2
System.out.println(stack.pop()); // 输出 2
System.out.println(stack.isEmpty()); // 输出 false
System.out.println(stack.isFull()); // 输出 false
Java中的堆栈类是一种非常有用的数据结构,可以轻松实现后进先出算法。使用堆栈类,您可以轻松地添加,删除和访问元素。