栈和队列

在js当中跟其他语言不一样,js当中没有专门的栈和队列的类型,所有的栈和队列都是用数组模拟出来的
 
栈:一端封闭,只能从另一端进出的数组这种特殊的数组就叫做栈
FIRST IN LAST OUT 先进的最后出
栈的特点:
何时使用:如果希望永远保持使用最新的元素,就要使用栈结构。
 
如何使用:
1、从结尾出入栈
入栈(压栈):arr.push(值)
出栈(弹栈):var last = arr.pop()
特点:无论是出栈或者入栈都不影响剩余元素的位置
 
2、从开头出入栈,
入栈:arr.unshift(值);
出栈:var first = arr.shirt()
缺点:每次出入栈都会导致其余元素的位置改变
 
下面呢咱们来测试这样一个事情 push 和 unshift能不能一次压入多个数值呢?能不能把数组给我打散了在压入呢?
 
 
 
不会打散,push和unshift都不会打散数组参数,它压了个套间进去。再看能不能压两个元素呢?
 
这个地方可以是多个值,但是入栈不支持数组参数
 
完整例子:(注意push 和 unsfitf的区别)
 
主要看咱们的执行顺序。
队列:从结尾进入,从开头出来的数组。
First IN FIRST OUT
何时使用:希望按照先来后到的顺序依次使用元素时候
1、入队列(排队):arr.push();
2、出队列:var first = arr.shift();

 

posted @ 2018-10-31 16:03  Panda-Q  阅读(1823)  评论(0编辑  收藏  举报