首页 > 其他分享 >数据结构28-优先级队列_实现

数据结构28-优先级队列_实现

时间:2022-12-24 17:36:58浏览次数:49  
标签:function ProorityQueue prototype 优先级 items 28 element priority 数据结构

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>优先级队列</title>
</head>
<body>
<script>
function ProorityQueue(){
this.items=[]

ProorityQueue.prototype.push=function(element){
this.items.push(element)
}

ProorityQueue.prototype.shift=function(){
return this.items.shift()
}

ProorityQueue.prototype.front=function(){
return this.items[0]
}

ProorityQueue.prototype.isEmpty=function(){
return this.items.length==0
}

ProorityQueue.prototype.size=function(){
return this.items.length
}

ProorityQueue.prototype.toString=function(){
var resultString=""
for(var i=0;i<this.items.length;i++){
resultString+=this.items[i].element+"-"+this.items[i].priority
}
return resultString
}
}
function ProorityQueue(){
function QueueElement(element,priority){
this.element=element
this.priority=priority
}
//封装属性‘
this.items=[]
//实现输入方法
ProorityQueue.prototype.enqueue=function(element,priority){
var element=new QueueElement(element,priority)
//判断队列是否为空
if(this.items.length==0){
this.items.push(queueElement)
}else{
var added=false
for(var i=0;i<this.items.length;i++){
for(var i=0;i<this.items.length;i++){
if(queueElement.priority<this.items[i].priority){
this.items.splice(i,0,queueElement)
added=true
break
}
}
if(!added){
this.items.push(queueElement)
}
}
}


}
}
</script>
</body>
</html>



标签:function,ProorityQueue,prototype,优先级,items,28,element,priority,数据结构
From: https://blog.51cto.com/u_14476028/5967390

相关文章

  • 【数据结构】利用Python手把手带你自定义矩阵
    前言什么是矩阵矩阵,Matrix。在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数......
  • 28_Java中的函数式接口
    Java中的函数式接口​ 可作为一个局部变量,或者参数传递一、函数式接口概述函数式接口:有且仅有一个抽象方法的接口Java中的函数式编程体现就是Lambda表达......
  • Apache Log4j 远程代码执行漏洞(CVE-2021-44228、CVE-2021-45046)修复方案
      漏洞概述  漏洞名称:ApacheLog4j远程代码执行漏洞(CVE-2021-44228、CVE-2021-45046)影响范围:ApacheApacheLog4j2>=2.0ApacheApacheLog4j2<=2.15.0-......
  • 【数据结构】五分钟带你了解及自定义有向图
    前言什么是有向图在数学中,一个图(Graph)是表示物件与物件之间的关系的方法,是图论的基本研究对象。一个图看起来是由一些小圆点(称为顶点或结点)和连结这些圆点的直线或曲线(......
  • 力扣28 找出字符串中第一个匹配项的下标
    题目:给你两个字符串 haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果 needle不是haystack的一部分,则返回......
  • 数据结构面试常见问题
    数据结构作为计算机的一门基础学科,它在面试中占有很大的比重,本科阶段,我们也学过数据结构与算法,内容比较多,也比较难,尤其是图的应用以及各类查找和排序算法,这些也都是核心内......
  • [数据结构]单向链表及其基本操作(C语言)
    单向链表什么是单向链表链表是一种物理储存单元上非连续、非顺序的储存结构。它由一系列结点(链表中每一个元素称为结点)组成,结点可动态生成。每个结点包括两个部分:一个是......
  • 线性数据结构
    线性数据结构标签(空格分隔):python目录线性数据结构1,内建常用数据类型1.1分类2,数值型2.1类型转换2.2取整2.3常用数值处理函数3,线性数据结构4,列表list4.1概念4.2初始......
  • 堆与优先级队列
    1.二叉堆1.1二叉堆的定义二叉堆在逻辑上是一颗完全二叉树,而在存储方式上还是用数组进行存储的。二叉堆具有如下性质,如果当前节点在数组中的索引为,那么有:其左子节点......
  • 283. 移动零
    给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,......