码迷,mamicode.com
首页 > 其他好文 > 详细

栈和队列

时间:2018-10-31 17:03:04      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:e431   出栈   data-   original   技术   resource   bad   first   特点   

在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();
技术分享图片

 

栈和队列

标签:e431   出栈   data-   original   技术   resource   bad   first   特点   

原文地址:https://www.cnblogs.com/pandawind/p/9883775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!