栈和队列:JavaScrip没有专门的栈和队列,是【数组】模拟的
栈:一端封闭另一端打开 先进入的在最下面
何时使用:永远使用最后进入数组的元素的时候,栈结构
队列:是一种遵从先进先出(FIFO)原则的有序集合
一般从结尾进,从开头出
从结尾出入:入 arr.push() 出 var last = arr.pop()
从开头出入:入 arr.unshift() 出 var first = arr.shift()
实际开发中一般都使用队列,例如:
var seat = 5;
var queue = [];
for(var i = 1; i <= 5; i++){
queue.push('乘客' + i);
}
queue.push('你');
console.log(String(queue));
while(seat > 0){
var c = queue.shift();
console.log(c + '上车成功');
seat --;
console.log('剩余座位:' + seat);
console.log('排队乘客:' + String(queue));
}
运行结果: