栈
特性:后进先出,就好比在一个只有一个口的箱子里放东西,前面先放进去的东西只能后面再拿出来
function Stack() {
this.arr = [];
this.push = function (value) {
this.arr.push(value);
};
this.pop = function () {
return this.arr.pop();
};
}
var stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.arr);
console.log(stack.pop());
console.log(stack.arr);
队列
特性:先进先出,就好比一条队伍,先进去的人就先出来
function Queue() {
this.arr = [];
this.push = function (value) {
this.arr.push(value);
};
this.pop = function () {
return this.arr.shift();
};
}
var queue = new Queue();
queue.push(1);
queue.push(2);
queue.push(3);
console.log(queue.arr);
console.log(queue.pop());
console.log(queue.arr);