设为首页 加入收藏

TOP

数据结构之栈的应用(记录最小值)
2019-09-17 19:08:53 】 浏览:25
Tags:数据结构 应用 记录 最小

记录最小值的栈结构

导入基本的栈结构的构造函数

const Stack = require('./Stack')  // 导入基本的栈结构的构造函数

/**
 * @description 创建一个记录有最小值的栈结构的构造函数
 */
function MinStack() {

    // 当push的时候,这两个栈结构都要响应的添加一个值。
    const data_stack = new Stack() // 直接存值
    const min_stack = new Stack() // 判断一下,再存一个小值

    this.push = function (val) {

        data_stack.push(val)

        // 如果min_stack为空的话,直接将val的值push进去即可
        // 如果min_stack栈顶的值大于当前的val,也需要将val得值push进去
        if (min_stack.isEmpty() || val < min_stack.top()) {
            min_stack.push(val)
        } else {
            min_stack.push(min_stack.top())
        }
    }

    this.pop = function () {
        data_stack.pop()
        min_stack.pop()
    }

    // 获取最小值
    this.minVal = function () {
        return min_stack.top()
    }

}

const own_min_stack = new MinStack()

own_min_stack.push(2)
own_min_stack.push(3)
own_min_stack.push(5)
own_min_stack.push(1)

console.log(own_min_stack.minVal());
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇拼接字符转的转义 下一篇JS 动态表格

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目