21xrx.com
2024-11-05 21:44:32 Tuesday
登录
文章检索 我的文章 写文章
使用Java实现堆栈数据结构
2023-06-17 08:44:11 深夜i     --     --
堆栈 Java LIFO

在程序设计中,经常需要使用数据结构来存储和管理数据。堆栈(Stack)是一种常用的数据结构,其操作包括压入数据、弹出数据、查看栈顶数据等。在本文中,我们将使用Java编写一个简单的堆栈数据结构,并介绍其基本操作。

首先,我们需要定义堆栈的数据结构。由于堆栈是一种后进先出(Last-In-First-Out,简称LIFO)的数据结构,因此我们可以使用数组来实现。


public class MyStack {

  private int[] array;

  private int top;

  public MyStack(int size) {

    array = new int[size];

    top = -1;

  }

  public void push(int value) {

    top++;

    array[top] = value;

  }

  public int pop() {

    int value = array[top];

    top--;

    return value;

  }

  public int peek() {

    return array[top];

  }

  public boolean isEmpty() {

    return (top == -1);

  }

  public boolean isFull() {

    return (top == array.length - 1);

  }

}

上述代码定义了一个MyStack类,包含了堆栈的基本操作:压入数据、弹出数据、查看栈顶数据、判断堆栈是否为空以及堆栈是否已满。

接下来,我们可以编写一个简单的测试程序,来测试MyStack类的功能:


public static void main(String[] args) {

  MyStack myStack = new MyStack(5);

  myStack.push(1);

  myStack.push(2);

  myStack.push(3);

  System.out.println(myStack.pop()); // 3

  myStack.push(4);

  System.out.println(myStack.peek()); // 4

  System.out.println(myStack.pop()); // 4

  System.out.println(myStack.pop()); // 2

  System.out.println(myStack.pop()); // 1

  System.out.println(myStack.isEmpty()); // true

}

在上述测试程序中,我们首先创建了一个大小为5的堆栈对象myStack。然后依次压入了三个数值,分别是1、2、3。接着使用pop()方法弹出栈顶元素3,并再次压入了数值4。使用peek()方法查看栈顶元素,发现是4。接着使用pop()方法弹出栈顶元素4、2和1。最后使用isEmpty()方法判断堆栈是否为空,输出结果为true。

  
  

评论区

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