编程|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个值)
- 网友热议|母亲回应3个孩子2个上清华:只能教孩子做人诚实守信 学习都靠自己努力
- 编程|测试人员对编程天生“恐惧”么?
- 编程|打造Web3.0基础设施 百度瞄准元宇宙的“人货场”?
- 格力电器|不要再说Python难了,按照这个学习路线,四周速成Python
- 网易易盾|测试人员对编程天生“恐惧”么?
- AI 编程工具 Copilot 的竞品 CodeWhisperer 来了,预览版免费用
- OPPO|准大学生看过来!满足大学四年学习、生活需求平板,三件套不到2K
- 京东|Java:有哪些快速学习Java语言的技巧?
- 编程|互联网时代不懂数据脱敏是灾难性的
- 如今|人工智能编程工具copilot正式发布
