栈方法 LIFO

1、栈方法
LIFO(Last-In-First-Out,后进先出)最新添加最早被移除。栈中项的插入(叫做推入)和移除(叫做弹出)只发生在一个位置---桟的顶部。
模拟:push()方式可以接收任意数量参数,它逐个添加到数组末尾,并修改数组长度。pop()方法从数组末端最后一项,并减少length

var colors = new Array(); //创建一个数组
var count = colors.push('red','green'); // count -> 2 colors -> ["red", "green"]
count = colors.push('black'); // count -> 3 colors -> ["red", "green","black"]

var item = colors.pop(); //"black" length -> 2


2、队方法
FIFO(First-In-First-Out,先进先出)
队列在列表末端添加项,从列表的前端移除项
模拟:push()方式可以接收任意数量参数,它逐个添加到数组末尾,并修改数组长度。shift()移除数组第一项并返回该项,并length-1

var colors = new Array(); //创建一个数组 
var count = colors.push("red", "green"); //推入两项 //count -> 2

count = colors.push("black"); //推入另一项 //count -> 3 

var item = colors.shift(); //取得第一项 // item -> red colors -> ["green", "black"]


反向队列
unshift()与shift() 用途相反,在数组前添加任意项数组,unshift()与pop()同时使用方向队列模拟
unshift() 返回数组添加后长度

游走大神世界,体验代码魅力
原文地址:https://www.cnblogs.com/hongding/p/11005115.html