美文网首页
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

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