数据结构问题:使用Java实现栈、队列的案例解析

原创 àì夳堔傛蜴生んèń 2024-09-15 08:09 92阅读 0赞

在Java中,我们可以使用多种方式来实现栈和队列这两种基本的数据结构。这里我将为你解析一个基于LinkedList(链表)实现的简单栈和队列案例。

  1. 栈(Stack)
    ```java
    import java.util.LinkedList;

public class StackExample {
// 创建一个LinkedList作为栈
private LinkedList stack = new LinkedList<>();

  1. // 添加元素到栈顶
  2. public void push(int num) {
  3. stack.push(num);
  4. }
  5. // 移除并返回栈顶元素(如果栈不为空)
  6. public int pop() {
  7. if (!stack.isEmpty()) {
  8. return stack.pop();
  9. } else {
  10. throw new IllegalStateException("Stack is empty");
  11. }
  12. }
  13. // 检查栈是否为空
  14. public boolean isEmpty() {
  15. return stack.isEmpty();
  16. }
  17. public static void main(String[] args) {
  18. StackExample stackExample = new StackExample();
  19. // 添加元素到栈中
  20. stackExample.push(1);
  21. stackExample.push(2);
  22. stackExample.push(3);
  23. // 从栈顶移除元素
  24. System.out.println("Popped elements from stack: ");
  25. while (!stackExample.isEmpty()) {
  26. int poppedNum = stackExample.pop();
  27. System.out.print(poppedNum + " ");
  28. }
  29. // 检查是否还有未添加的元素
  30. System.out.println("\nStack status after operations: ");
  31. if (stackExample.isEmpty()) {
  32. System.out.println("Stack is empty");
  33. } else {
  34. System.out.println("Stack still contains elements");
  35. }
  36. }

}
```
在这个例子中,我们创建了一个LinkedList作为栈。然后提供了push(添加元素)和pop(移除并返回栈顶元素)这两种基本操作。

在main方法中,我们进行了几次操作以展示栈的行为。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,92人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数据结构——使用

    TOJ 4368 描述 请你定义一个队列,可以对队列进行“入队”、“出队”、“队列输出”等操作。键盘输入一些命令,可以执行上述操作。本题中,队列中元素均为整数。队列的最大元