JavaScript数据结构与算法——第三章 栈

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数据结构与算法——第三章 栈相关的知识,希望对你有一定的参考价值。

栈:后进先出。栈顶在最后,栈底在最前。新添加的元素和待删除的元素抖保存在栈的末尾。

创建一个栈:

function Stack() {
    var items = []; /*用数组保存栈里的元素*/

    this.push = function(e) {
        items.push(e);
    }

    this.pop = function() {
        return items.pop();
    }

    this.peek = function() {
        return items[length - 1];
    }

    this.isEmpty = function() {
        return items.length == 0;
    }

    this.size = function() {
        return items.length;
    }

    this.clear = function() {
        items = [];
    }

    this.print = function() {
        console.log(items.toString());
    }

}

使用stack类,实例化一个栈:

var stack= new Stack();/*创建一个空栈*/

/*使用它的方法*/
stack.size();  //0
stack.isEmpty();  //true
stack.push(2);
stack.push(3);
stack.print(); //"2,3"

用栈做什么?

例子:10进制转化成指定的进制数数。

function baseConverter(decNumber,base){
    var stack=new Stack();
    var rem,
        binaryString=‘‘,
        digits=‘0123456789ABCDEF‘;

    while(decNumber>0){
        rem=decNumber%base;
        stack.push(rem);
        decNumber=Math.floor(decNumber/base);
    }

    while(!stack.isEmpty()){
         binaryString+=digits[stack.pop()];
    }

    return binaryString;
}

 

以上是关于JavaScript数据结构与算法——第三章 栈的主要内容,如果未能解决你的问题,请参考以下文章

手把手5分钟掌握JavaScript栈数据结构JavaScript数据结构与算法系列

手把手5分钟掌握JavaScript栈数据结构JavaScript数据结构与算法系列

手把手5分钟掌握JavaScript栈数据结构JavaScript数据结构与算法系列

震惊!5分钟封装JavaScript栈数据结构Stack类JavaScript数据结构与算法系列

震惊!5分钟封装JavaScript栈数据结构Stack类JavaScript数据结构与算法系列

javascript数据结构与算法——栈