javascript 堆栈与列队
来源:互联网 发布:js 二维数组定义 编辑:程序博客网 时间:2024/06/09 04:27
javascript数组是一个逆天的存在,到了ecma262v5,它已经是堆栈,列队及迭代器的合体。有时候我们不需要这么强大的东西,这只要考虑到for循环太麻烦了,我们只需要非常简单的遍历,于是想用普通对象模拟一个就是。
首先是堆栈,先进后出
function Stack(){ } Stack.prototype = { add: function(el, pt){ this._first = pt = {//_first是不断变的 _next:this._first, el: el } if (pt._next) { pt._next._prev = pt; } return this; } } var s = new Stack; s.add("1").add("2").add("3") var pt = s._first; while (pt) { console.log(pt.el) pt = pt._next; }接着是列队,先进先出:
function Queue(){ } Queue.prototype = { add: function(el){ if( this._last ){ this._last = this._last._next = {//_last是不断变的 el: el, _next: null//设置_last属性表示最后一个元素,并且让新增元素成为它的一个属性值 } }else{ this._last = this._first = {//我们要设置一个_first属性表示第一个元素 el: el, _next: null } } return this; } } var q = new Queue q.add("1").add("2").add("3") var pt = q._first; while (pt) { console.log(pt.el) pt = pt._next; }
本文转载自 http://www.cnblogs.com/rubylouvre/archive/2012/11/23/2785051.html
0 0
- javascript 堆栈与列队
- 巧用javascript数组实现数据结构-堆栈与队列
- 巧用javascript数组实现数据结构-堆栈与队列
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- JavaScript的数组实现队列与堆栈的方法
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- JavaScript的数组实现队列与堆栈的方法
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- (Java学习笔记7)列队的构建与应用
- 满堆栈与空堆栈
- JavaScript 打印调用堆栈
- javascript之堆栈
- 消息列队
- 战马列队
- 数据结构--列队
- setTimeout本质------Javascript调用堆栈
- 打印 JavaScript 函数调用堆栈
- struts框架编写的用户登陆代码
- 网站对于艺术家信息技术的冲击,世界
- 数据库培训总结
- Smash The Stack Wargame IO Level 01-04
- nfs安装与配置
- javascript 堆栈与列队
- IOS开发之CocoaAsyncSocket学习
- 网络流1飞行员配对方案问题
- Form表单属性及其常用的INPUT控件
- HDU 2553 N皇后问题(深搜+回溯)
- A 星算法
- myeclipse设置2
- AndroidStudio单元测试——instrumentation
- InnoDB与Myisam的六大区别