/**
*
* 栈:是一种可以限制插入和删除项的数据结构。其遵循LIFO(last-in-first-out)后入先出的规则,也就是最新推入的被最早的弹出,而这些操作只发生在一个位置,栈的顶部。
* 模拟栈的实现需要使用:push()和pop()方法。
* push():可以接受任意个参数,把它们逐个推入到数组的末尾,返回新的数组的额长度
* pop(): 不需要参数,直接弹出数组末尾的项,并将值返回
*/
var colors = ['red','yellow','blue'];
var push = colors.push('aaa','bbb');
alert(colors+'-------'+push); // red,yellow,blue,aaa,bbb------5
var pop = colors.pop();
alert(colors+'--------'+pop); // red,yellow,blue,aaa-----bbb
/**
* 队列:队列数据结构的访问规则是:FIFO(first-in-first-out)先进先出。队列是在列表的末端添加,在列表的前端删除
* 要模拟队列的实现需要使用:shift()和push()的方法
* shift():不需要参数,直接弹出数组最顶端的项,并返回其值
*/
var colors = ['red','yellow','blue'];
var push = colors.push('aaa','bbb');
alert(colors+'-------'+push); // red,yellow,blue,aaa,bbb------5
var shift = colors.shift();
alert(colors+'--------'+shift); // red,yellow,blue,aaa------red