JavaScript 数据结构(2):队列 Queue
来源:互联网 发布:北京匡恩网络 待遇 编辑:程序博客网 时间:2024/06/06 08:27
/** * 队列(Queue) * 先进先出 */// Array 实现/*function Queue () { var arr = []; return { insert: function(item){ // 入列 arr.push(item); }, remove: function(){ // 出列 return arr.shift(); }, peek: function(){ // 查看队头元素 return arr[0]; }, isEmpty: function(){ // 队列是否为空 return arr.length === 0; }, size: function(){ // 队列中元素数目 return arr.length; } };}*/// Object 实现function Queue () { var queue = {}, front = 0, end = -1, size = 0; return { insert: function(item){ // 入列 queue[++end] = item; size++; }, remove: function(){ // 出列 if(size == 0){ return undefined; }else{ var frontItem = queue[front++]; size--; return frontItem; } }, peek: function(){ // 查看队头元素 return queue[front]; }, isEmpty: function(){ // 队列是否为空 return size === 0; }, size: function(){ // 队列中元素数目 return size; } };}// testvar queue = new Queue();console.log('Is empty? ' + queue.isEmpty());console.log('size: ' + queue.size());queue.insert(1);queue.insert(2);console.log('size: ' + queue.size());console.log('peek: ' + queue.peek());console.log('remove: ' + queue.remove());console.log('peek: ' + queue.peek());console.log('Is empty? ' + queue.isEmpty());console.log('size: ' + queue.size());
0 0
- JavaScript 数据结构(2):队列 Queue
- 数据结构-队列(queue)
- 队列(queue)数据结构
- 基本数据结构:队列(queue)
- PHP实现队列(Queue)数据结构
- PHP实现队列(Queue)数据结构
- C++数据结构之Queue(队列)
- 《数据结构》 队列(Queue)操作代码集合
- Unity常用数据结构Queue(队列)
- 数据结构学习之队列(queue)
- 数据结构——队列(queue)
- 队列数据结构 Queue.h
- 【数据结构】顺序队列 Queue
- 数据结构_队列(queue)
- 数据结构-队列(queue)
- 数据结构复习 - 队列Queue
- 数据结构-队列(Queue)
- [C++数据结构]队列Queue
- Spring整合mybatis完整项目
- 时间选择器DatePickerDialog的简单demo
- Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with
- canvas绘制bitmap1--两个bitmap交集裁剪等效果
- Python——while和for循环
- JavaScript 数据结构(2):队列 Queue
- 多重幂计算问题
- WebRTC学习记录(2):播放音频文件原理一探
- NDK编译ffmpeg的配置文件
- Auto Layout 使用心得(一)--初体验
- OC 重点之NSArray(数组) NSDictionary不可变字典类与NSMutableDictionary 可变字典类 (概括)
- sql语句的执行顺序~
- 开机关机广播和电量变化广播
- iOS UIAppearance使用详解