编程|js数据结构学习---优先队列
text":"3.优先队列在插入一个元素时会考虑数据的优先集
3.1队列需考虑的问题元素既包含数据又包含优先级
在插入时 , 会根据优先级进行插入
3.队列操作的实践function PriorityQueue () {
//在PriorityQueue重新创建了一个类:可以理解成内部类 , 也可以理解为结构体
function QueueElement (element priority) {
this.element = element
this.priority = priority
this.items = [
【编程|js数据结构学习---优先队列】PriorityQueue.prototype.enqueue = function (element priority) {
var queueElement = new QueueElement(element priority)
if (this.items.length == 0) {
this.items.push(queueElement)
else {
var added = 0
for (var i = 0; i < this.items.length; i++) {
if (queueElement.priority >= this.items[i
.priority) {
this.items.splice(i 0 queueElement)
added = 1
break;
if (!added) {
this.items.push(queueElement)
//移除队首元素
PriorityQueue.prototype.dequeue = function () {
return this.items.shift()
PriorityQueue.prototype.front = function () {
return this.items[0
PriorityQueue.prototype.isEmpty = function () {
if (this.items.length == 0)
return false
else return true
PriorityQueue.prototype.size = function () {
return this.items.length
PriorityQueue.prototype.toString = function () {
return this.items.toString()
[数组splice
- array.splice(53)删除从指定位置开始的多少个元素:删除从下标5开始到下标7的元素
- array.splice(50321)在指定位置插入元素:5代表从下标5开始插入元素 , <=0表示插入元素 , 321代表插入的元素值
- array.splice(53'a''b''c')修改指定位置的元素:5代表开始位置 , 3代表修改从开始位置后多少个元素 , abc代表修改后的值(注意:当第二个参数值大于指定修改后的值时 , 会将数组中的元素删除例如:当第一参数为5 , 第二参数为5 , 修改的值为‘a’'b''c'(n=3)时 , 数组从下标5到下标7的元素为abc而数组下标8和下标9的元素被删除 。 当第二个参数小于修改的值个数n时 , 会根据n将数组从指定下标开始修改n个值)
- 将理论注入深度学习,对过渡金属表面进行可解释的化学反应性预测
- 核桃|核桃编程荣膺“2021中国网·科技企业先锋榜”年度品牌影响力企业
- 人类的工作会被AI取代吗?如果机器能够深度学习|为什么说AI能作巴赫的曲,却写不出村上春树的小说?
- Jeff De2021谷歌年度 Jeff
- 董明珠|向任正非学习,格力推行狼性管理,董明珠:违反制度的元老也得走
- meta|搞Java怎么玩深度学习,生产环境用DL4J啊
- v华为“天才少年”再刷屏!一位刚拿下“编程界奥赛”冠军…任正非曾说:海外研究所要转为人才招聘所
- 编程|又有两位00后世界级猛将加入华为!
- 科大讯飞智慧教育添荣耀,AI学习机斩获智东西AI生产力创新奖
- Java|【python学习笔记】Python find()方法