js模拟栈和队列

栈和队列前端


栈:LIFO(先进后出)一种数据结构数组

队列:LILO(先进先出)一种数据结构数据结构

使用的js方法code


1.push();能够接收任意数量的参数,把它们逐个推动队尾(数组末尾),并返回修改后的数组长度。队列

2.pop();从数组末尾移除最后一项,减小数组的值,返回移除的项。ip

3.shift();移除数组第一项并返回该项同时将数组的长度减一。it

简单实现栈方法


使用push()和pop()结合实现简单栈数据

var colors = new Array();
var count = colors.push('red','white','blue');
alert(count);//3

var item = colors.pop();
alert(item);//blue
alert(colors.length());//2

简单实现队列兼容


使用shift()与push()结合实现简单队列

var colors = new Array();
var count = colors.push('red','green');
alert(count);//2

var item = colors.shift();
alert(item);//red
alert(colors.length());//1

额外补充


unshift()与shift()用途相反,unshift()在数组前端添加任意个项,并返回新数组的长度。

注意:IE7以及更早版本对JavaScript的实现中存在误差,其unshift()方法老是返回undefined而不是新数组的长度。IE8在非兼容模式下会返回正确的长度值。

相关文章
相关标签/搜索