发表于 2017-12-15 09:07:26 | 分类于 算法 |

栈的定义

栈是一种遵从后进先出原则的有序集合。新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端叫做栈底。在栈里,新元素都靠近栈顶,旧元素都靠近栈底。

栈的方法

push(element):添加一个新元素到栈顶。

pop(element):移除栈顶的元素,同时返回被移除的元素。

peek():返回栈顶的元素,不对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返回栈顶的元素)。

isEmpey():如果栈里没有任何元素则返回 true,否则返回 false。

clear():移除栈里的所有元素。

size():返回栈里的元素个数。

栈的创建

创建一个类来表示栈。

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

    // 栈方法
    this.push = function(element) {
        items.push(element);
    };

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

    this.peek = function() {
        return items[ 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() );
    };
}