推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

Java实现栈的最小值函数

更新时间:2026-04-21 12:20:36 大小:14K 上传用户:潇潇江南查看TA发布的资源 标签:java函数 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

在栈的基本操作中,获取栈的最小值是一个常见需求。以下介绍两种高效实现方式:

方法一:双栈法(推荐)

使用两个栈:主栈存储所有元素,辅助栈存储当前最小值。

import java.util.Stack;

public class MinStack {

private Stack<Integer> mainStack; // 存储所有元素

private Stack<Integer> minStack; // 存储当前最小值

public MinStack() {

mainStack = new Stack<>();

minStack = new Stack<>();

}

// 入栈操作

public void push(int val) {

mainStack.push(val);

// 辅助栈为空或当前值小于等于栈顶值时入栈

if (minStack.isEmpty() || val <= minStack.peek()) {

minStack.push(val);

}

}

// 出栈操作

public void pop() {

if (mainStack.isEmpty()) {

throw new RuntimeException("Stack is empty");

}

int val = mainStack.pop();

// 如果出栈元素是当前最小值,辅助栈也出栈

if (val == minStack.peek()) {

minStack.pop();


部分文件列表

文件名 大小
Java实现栈的最小值函数.docx 14K

【关注B站账户领20积分】

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载