美文网首页
javascript数据结构-桟

javascript数据结构-桟

作者: 香樟树的夏天 | 来源:发表于2017-03-01 16:04 被阅读0次

    //satck构造函数

    function Stack() {

    this.items = [];

    this.top = 0;

    }

    /*桟具有以下方法

    push() 进栈

    pop() 退栈

    size() 栈大小

    empty() 判断栈是否为空

    peek() 返回栈顶元素

    clear() 清空栈

    */

    //给桟添加方法

    Stack.prototype = {

    constructor: Stack,

    push: push,

    pop: pop,

    size: size,

    empty: empty,

    peek: peek,

    clear: clear

    }

    function push() {

    var item = [];

    this.items[this.top++] = item;

    }

    function pop() {

    if (this.top === 0) {

    return;

    } else {

    var item = this.items[this.top - 1];

    this.items.length = --this.top;

    return item;

    }

    }

    function size() {

    return this.top

    }

    function empty() {

    return this.top === 0;

    }

    function peek() {

    return this.items[this.top - 1];

    }

    function clear() {

    this.items = [];

    this.top = 0;

    }

    //递归函数

    function factorial(n) {

    if (n === 0) {

    return 1;

    } else {

    return n * factorial(n - 1);

    }

    }

    factorial(5);

    //桟的应用:递归函数

    /*function factorial(n) {

    var s = new Stack(),

    result = 1;

    while (n > 1) {

    s.push(n--);

    }

    while (s.size() > 0) {

    result *= s.pop()

    }

    return result;

    }*/

    相关文章

      网友评论

          本文标题:javascript数据结构-桟

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