美文网首页
4:【栈】栈_js

4:【栈】栈_js

作者: 狩秋之人 | 来源:发表于2019-11-07 23:32 被阅读0次
function stuck () {
    let elements = [];
    
    // 存放数据
    this.pushElement = function (element) {
        return elements.push(element);
    };
    
    // 移除栈顶元素
    this.popElement = function () {
        console.log('移除栈顶元素');
        return elements.pop();
    };

    // 显示栈顶数据
    this.peekElement = function () {
        console.log('显示栈顶元素');
        return elements[elements.length - 1];
    };

    // 消除所有元素
    this.clearElements = function () {
        elements = [];
        return '消除成功!' 
    };

    // 判断是否为空
    this.isEmpty = function () {
        console.log('判断栈是否空');
        return elements.length == 0 ? '栈空' : '栈不空';
    };

    this.size = function () {
        console.log('栈大小为:');
        return elements.length;
    };

    this.showAll = function () {
        let temp = []
        elements.forEach(function(x) {
            temp.push(x);
        })
        return temp;
    }

};

// 测试
let stuck1 = new stuck();

stuck1.pushElement(1)
stuck1.pushElement(2)
stuck1.pushElement(3)

console.log('查看所有栈数据。仅供参考,并不提供该方法');
console.log(stuck1.showAll());
console.log('------');
console.log('1. 测试判断栈是否为空');
console.log(stuck1.isEmpty());
console.log('------');
console.log('2. 测试输出栈顶数');
console.log(stuck1.peekElement());
console.log('------');
console.log('3. 测试移除栈顶数');
console.log(stuck1.popElement());
console.log(stuck1.peekElement());
// console.log('------');
// console.log('4. 测试清除元素');
// console.log(stuck1.clearElements());
// console.log(stuck1.isEmpty());
console.log('------');
console.log('4. 测试返回栈大小');
console.log(stuck1.size());
console.log('------');

近期考试周,码字少,但每天代码练习没少。
明天更新栈的一些用法

image.png

相关文章

  • 4:【栈】栈_js

    近期考试周,码字少,但每天代码练习没少。明天更新栈的一些用法

  • Flask Vue.js 全栈开发

    Flask Vue.js全栈开发 1. Flask Vue.js全栈开发教程系列 Flask Vue.js全栈开发...

  • 递归累加数组

    入栈 5入栈 4入栈 3入栈 2入栈 1出栈 [1 0]出栈 [2 1 0]出栈 [3 2 1 0]出栈 [4 3...

  • 数据结构之 栈

    栈结构 链式栈 一.栈结构体 1构建空栈 2栈置空 3判断栈空 4获取栈顶 5入栈 6出栈 7便利栈 二.链式栈 ...

  • 算法(五):栈

    一、栈(后进先出) JS中没有栈,Array实现栈的所有功能入栈:push出栈:pop // 移除数组最后一项,并...

  • 前端-算法1:栈、队列、链表

    栈 一个先进后出的数据结构JS中没有栈,用Array实现栈的功能进栈: push 出栈:pop栈的应用场景: 十进...

  • JS堆、栈、执行栈和EventLoop

    JS堆、栈、执行栈和EventLoop 堆、栈引用类型在栈中保存指针,在堆中保存对象值 执行栈 JS 代码在运行前...

  • 如何仅用递归函数和栈操作逆序一个栈

    【题目】 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底...

  • 用递归函数和栈操作逆序一个栈

    题目描述 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底...

  • 如何仅仅用递归函数和栈操作逆序一个栈

    题目描述 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底...

网友评论

      本文标题:4:【栈】栈_js

      本文链接:https://www.haomeiwen.com/subject/kmbbbctx.html