数据结构与算法JavaScript - 队列
2016-07-25 18:34
567 查看
队列是一种列表,只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出(FIFO, First-In-First-out)的数据结构。
队列的两种操作:
插入新元素,入队
删除队列中的元素,出队
读取队头元素
队列的构造函数
优先队列
一般情况队列中均采用FIFO的原则,但是也有一些应用在删除元素是不必遵守FIFO原则,这样的队列叫做优先队列数据结构。
优先队列删除元素时,需要考虑优先权。
优先队列删除元素,即修改
队列的两种操作:
插入新元素,入队
删除队列中的元素,出队
读取队头元素
队列的构造函数
function Queue() { this.dataStore = []; this.enqueue = enqueue; this.dequeue = dequeue; this.front = front; this.back = back; this.toString = toString; this.empty = empty; } function enqueue(element) { this.dataStore.push(element); } function dequeue() { return this.dataStore.shift(); } function front() { return this.dataStore[0]; } function back() { return this.dataStore[this.dataStore.length -1]; } function toString() { var retStr = ""; for(var i = 0; i < this.dataStore.length; ++i) { retStr += this.dataStore[i] + "\n"; } return retStr; } function empty() { if (this.dataStore.length == 0) { return true; } else { return false; } }
优先队列
一般情况队列中均采用FIFO的原则,但是也有一些应用在删除元素是不必遵守FIFO原则,这样的队列叫做优先队列数据结构。
优先队列删除元素时,需要考虑优先权。
优先队列删除元素,即修改
dequeue()函数,按照优先权过滤数组,挑选优先权最高的元素。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解