21xrx.com
2024-11-05 21:40:05 Tuesday
登录
文章检索 我的文章 写文章
Java栈——先进后出的基本数据结构
2023-06-17 20:49:28 深夜i     --     --

Java中的栈是一种非常基本的数据结构,它采用先进后出的方式进行存取数据。栈可以用数组或链表实现,其入栈和出栈操作都是O(1)的时间复杂度,非常高效。

以下是一个使用数组实现的栈的示例代码:


public class MyStack {

  private int[] data;

  private int top; // 栈顶指针

  public MyStack(int size) {

    data = new int[size];

    top = -1; // 初始化为空栈

  }

  public void push(int val) {

    if (top == data.length - 1) {

      // 栈已满,不能再添加元素

      throw new RuntimeException("Stack is full!");

    }

    data[++top] = val; // 指针先加一再添加元素

  }

  public int pop() {

    if (top == -1) {

      // 栈已空,不能再弹出元素

      throw new RuntimeException("Stack is empty!");

    }

    return data[top--]; // 先返回元素再使指针减一

  }

  public int peek() {

    if (top == -1) {

      // 栈已空,不能再获取元素

      throw new RuntimeException("Stack is empty!");

    }

    return data[top]; // 直接返回栈顶元素

  }

  public boolean isEmpty() {

    return (top == -1);

  }

  public int size() {

    return (top + 1);

  }

}

通过上面的代码,我们可以看到一个基本的栈的实现,封装了入栈、出栈、获取栈顶元素、判断栈空和获取栈大小等常用操作。可以在工程中直接调用该类来实现栈的功能。

以下是几个与Java栈相关的关键词:

1. 栈实现

2. 先进后出

3. 数组或链表

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复