JavaScript数组之栈和队列

       熟知Java的人都知道Java除了提供数组之外,还提供了List集合、Deque集合,其中List为线性表,Deque集合代表双向队列,既可充当栈,也可充当队列。JavaScript中的数组就很厉害了,是java中的数组、List集合和Deque集合的合成体。

一、JavaScript关于栈和队列的方法:

push(ele):元素入栈

pop():元素出栈

unshift(ele):元素入队列

shift():元素出队列

二、栈和队列的实例与原理解析

大家都知道栈中是先进后出的,队列是先进先出的,那就让我们一起验证一下吧。

<html>
<body>

<script type="text/javascript">
var a=[0,1,2];
console.log(a[0]+" "+a[1]+" "+a[2]);
a.push(3);
console.log(a[0]+" "+a[1]+" "+a[2]+" "+a[3]);
a.pop();
console.log(a[0]+" "+a[1]+" "+a[2]);
a.unshift(4);
console.log(a[0]+" "+a[1]+" "+a[2]+" "+a[3]);
a.shift();
console.log(a[0]+" "+a[1]+" "+a[2]);
</script>

</body>
</html>

实验结果:

由实验结果可知,奇怪的现象发生了,入栈后出栈和入队出队的最终结果居然是一样的。这也说明了JS中的栈和队列和JAVA中的并不完全相同。

在JS中,栈的原理和JAVA中的基本一致。从栈顶进入,从栈顶出栈。

但队列则有一些不同,JS中的入队大家可以想象成和现实里的插队一样,入队时从队首插入,出队时依然从队首出去。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值