数据结构问题:使用Java实现栈、队列的案例解析
在Java中,我们可以使用多种方式来实现栈和队列这两种基本的数据结构。这里我将为你解析一个基于LinkedList(链表)实现的简单栈和队列案例。
- 栈(Stack):
```java
import java.util.LinkedList;
public class StackExample {
// 创建一个LinkedList作为栈
private LinkedList
// 添加元素到栈顶
public void push(int num) {
stack.push(num);
}
// 移除并返回栈顶元素(如果栈不为空)
public int pop() {
if (!stack.isEmpty()) {
return stack.pop();
} else {
throw new IllegalStateException("Stack is empty");
}
}
// 检查栈是否为空
public boolean isEmpty() {
return stack.isEmpty();
}
public static void main(String[] args) {
StackExample stackExample = new StackExample();
// 添加元素到栈中
stackExample.push(1);
stackExample.push(2);
stackExample.push(3);
// 从栈顶移除元素
System.out.println("Popped elements from stack: ");
while (!stackExample.isEmpty()) {
int poppedNum = stackExample.pop();
System.out.print(poppedNum + " ");
}
// 检查是否还有未添加的元素
System.out.println("\nStack status after operations: ");
if (stackExample.isEmpty()) {
System.out.println("Stack is empty");
} else {
System.out.println("Stack still contains elements");
}
}
}
```
在这个例子中,我们创建了一个LinkedList作为栈。然后提供了push(添加元素)和pop(移除并返回栈顶元素)这两种基本操作。
在main方法中,我们进行了几次操作以展示栈的行为。
还没有评论,来说两句吧...