javaScript数组中的栈和队列
来源:互联网 发布:百度云登录网络异常 编辑:程序博客网 时间:2024/05/16 10:05
栈方法
栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构。其实通俗的讲就是最新添加的项最早被移除。而栈中项的插入(叫做推入)和移除(叫做弹出),只发生在一个位置——栈的顶部。
在ECMAScript中数组也提供了让它类似于其他数据结构的方法。具体来说,数组可以表现得像栈一样。还是举例子吧。
var count = colors.push("red","green");
alert(count); //2
count = colors.push("black");
alert(count); //3
var item = colors.pop();
alert(item); //"black"
alert(colors.length);//2
队列方法
栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(First-In-First-Out,先进先出)。队列在列表的末端添加项,从列表的前端移除项。
由于push()是向数组末端添加项的方法,因此我们需要解决的就是从数组的前端移除项。实现这一操作的数组方法就是shift(),它能够移除数组中的第一个项并返回该项,同时将数组长度减一。下面就是结合使用shift()和push()方法的例子:
var colors = new Array();
var count = colors.push("red","green");
alert(count);//2
count = colors.push("black");
alert(count);//3
var item = colors.shift();
alert(item);//"red"
alert(colors.length);//2
ECMAScript还为数组提供了一个unshift()方法。它能够在数组前端添加任意项并返回新数组的长度。由此我们可以自由组合进行许多有意思的模拟。
同时使用unshift()和pop()方法,可以从相反的方向来模拟队列。即在数组的前端添加项,从数组末端移除项,如下面的例子所示:
var colors = new Array();
var count = colors.unshift("red","green");
alert(count);//2
count = colors.unshift("black");
alert(count);//3
var item = colors.pop();
alert(item);//"green"
alert(colors.length);//2
当然也可以使用unshift()和shift()方法从相反的方向来模拟栈。
栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构。其实通俗的讲就是最新添加的项最早被移除。而栈中项的插入(叫做推入)和移除(叫做弹出),只发生在一个位置——栈的顶部。
在ECMAScript中数组也提供了让它类似于其他数据结构的方法。具体来说,数组可以表现得像栈一样。还是举例子吧。
ECMAScript为数组专门提供了push()和pop()方法。
push()方法:可以接收任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度。
pop()方法:则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
var count = colors.push("red","green");
alert(count); //2
count = colors.push("black");
alert(count); //3
var item = colors.pop();
alert(item); //"black"
alert(colors.length);//2
队列方法
栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(First-In-First-Out,先进先出)。队列在列表的末端添加项,从列表的前端移除项。
由于push()是向数组末端添加项的方法,因此我们需要解决的就是从数组的前端移除项。实现这一操作的数组方法就是shift(),它能够移除数组中的第一个项并返回该项,同时将数组长度减一。下面就是结合使用shift()和push()方法的例子:
var colors = new Array();
var count = colors.push("red","green");
alert(count);//2
count = colors.push("black");
alert(count);//3
var item = colors.shift();
alert(item);//"red"
alert(colors.length);//2
ECMAScript还为数组提供了一个unshift()方法。它能够在数组前端添加任意项并返回新数组的长度。由此我们可以自由组合进行许多有意思的模拟。
同时使用unshift()和pop()方法,可以从相反的方向来模拟队列。即在数组的前端添加项,从数组末端移除项,如下面的例子所示:
var colors = new Array();
var count = colors.unshift("red","green");
alert(count);//2
count = colors.unshift("black");
alert(count);//3
var item = colors.pop();
alert(item);//"green"
alert(colors.length);//2
当然也可以使用unshift()和shift()方法从相反的方向来模拟栈。
阅读全文
0 0
- javaScript数组中的栈和队列
- Javascript中数组的栈方法和队列方法
- JavaScript之数组API、栈和队列、冒泡排序
- JavaScript中的对象和数组
- JavaScript中的对象和数组
- JavaScript实现数据结构中的队列和堆栈
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- JavaScript数据结构之数组栈队列
- 数组模拟队列和栈
- 数组结构-栈和队列
- JavaScript(7) - 栈和队列
- JavaScript的栈和队列
- Node.js中的数组和javascript中的数组使用区别
- javascript中的队列
- Javascript中的函数,数组和对象
- 这个双十一,你想要的我给你
- 1005. 继续(3n+1)猜想 (25)
- vue unit及e2e问题记录
- 初探Raspbian
- 能免费能发新闻软文外链的网站部分汇总
- javaScript数组中的栈和队列
- JAVA容器类与布局类
- maven(五)在eclipse中maven的简单应用
- HDU
- Introducing Linux Network Namespaces
- code frist生成数据库update-database还是没效果.
- JAX-RS的传参类型
- 【转载】几种任务调度的 Java 实现方法与比较
- oracle库中查找不知名表中的已知字段