javaScript数据结构--栈

栈是一种遵循后进先出(LIFO last in first out)原则的有序集合,新添加或待删除的元素都保存在栈的末尾,成为栈顶,另一端叫栈底。

实现一个栈的数据结构:

function Stack() {

    var items = [];

    this.push = function(element) {

        items.push(element);

    }

    this.pop = function() {

        items.pop();

    }

    this.peek = function() {

        return items[items.length-1]

    }

    this.size = function() {

        return items.length;

    }

    this.isEmpty = function() {

        return items.length > 0 ? false: true

    }

    this.clear = function() {

        items = [];

    }

}

const s = new Stack();

s.push("a");

s.push(2);

console.log(s.peek()); // 2

console.log(s.size()); // 2

console.log(s.isEmpty()); // false

s.pop();

console.log(s.peek()); // a

console.log(s.size()); // 1

s.clear();

console.log(s.size()); // 0

console.log(s.isEmpty()); // true