优先队列什么叫优先级队列?优先级队列和队列有什么相同之处和不同之处?
数据结构中优先级队列和平衡二叉树的区别
优先队列指的是出队的是优先级最高的元素,一般用堆实现,这个堆机器实现时逻辑结构是完全二叉树,一般根结点的权值大于或者小于子树根的权值
平衡二叉树是用于查找的二叉排序树,要求左右子树高度差绝对值不超过1,并且左子树小,右子树大C语言实现一个优先队列
# include "stdio.h"
# include "malloc.h"
# include "stdlib.h"
typedef struct Queue
{
int data;
int Priority;
Queue * Next;
}* PQUEUE;
bool insert(PQUEUE p,int i, int j);
bool pop(PQUEUE p);
void sort(PQUEUE p);
int length = 0;
PQUEUE pT;
int main(void)
{
PQUEUE pH = (PQUEUE)malloc(sizeof(Queue));
insert(pH, 75, 8);
insert(pH, 54, 4);
insert(pH, 75, 6);
insert(pH, 23, 5);
insert(pH, 81, 4);
insert(pH, 65, 3);
insert(pH, 43, 4);
insert(pH, 34, 2);
sort(pH);
pop(pH);
pop(pH);
pop(pH);
pop(pH);
pop(pH);
pop(pH);
pop(pH);
pop(pH);
return 0;
}
bool insert(PQUEUE p,int i, int j)
{
if(i>= 0 && i<= 100 && j>=0 && j<=100)
{
PQUEUE pNew = (PQUEUE)malloc(sizeof(Queue));
if(length == 0)
{
pT = NULL;
}
if(pT == NULL)
{
pT = p;
}
if(NULL == pNew)
{
printf("动态内存分配失败~!");
exit(-1);
}
pNew->data = i;
pNew->Priority = j;
pT->Next = pNew;
pNew->Next = NULL;
pT = pNew;
length++;
return true;
}
return false;
}
PQUEUE p2;
bool pop(PQUEUE p)
{
if(length != 0)
{
p2 = p;
p = p->Next;
printf("%d,", p->data);
printf("%d
", p->Priority);
p2->Next = p->Next;
length--;
return true;
}
return false;
}
void sort(PQUEUE p)
{
if(length != 0)
{
PQUEUE w,q;
int i, j, t1,t2;
for(i=0,w=p->Next; i < length-1; ++i,w = w->Next)
{
for(j=i+1,q=w->Next; j < length; ++j,q = q->Next)
{
if(w->Priority < q->Priority)
{
t1 = w->data;
w->data = q->data;
q->data = t1;
t2 = w->Priority;
w->Priority = q->Priority;
q->Priority = t2;
}
}
}
}
return;
}
/*
都满足你的要求了,以上是使用链表结构的队列
*/什么叫优先级队列?优先级队列和队列有什么相同之处和不同之处?
优先级队列是带有优先级的队列;
相同之处:对优先级相同的元素和普通队列一样遵循“先进先出”的原则、
不同之处:在于优先级队列的出队列操作不是把队头元素出队列,而是把队列中优先级最高的数据元素出队列。
HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...
HostYun是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选,主要提供基于XEN和KVM架构VPS主机,数据中心包括中国香港、日本、德国、韩国和美国的多个地区,大部分机房为国内直连或者CN2等优质线路。本月商家全场9折优惠码仍然有效,以KVM架构产品为例,优惠后韩国VPS月付13.5元起,日本东京...
RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...
优先队列为你推荐
百度云论坛请问论坛有网盘么?免费erp最方便使用的免费erp软件有哪些安全防护谈谈如何才能做好自身安全防护blastp如何查找一个基因在毛果杨中的CDS、蛋白质和基因组序列?ucosiiucosii任务堆栈的作用是什么呢?html源代码求一个简单的HTML代码,在线等,急阶乘函数用函数求阶乘的C语言微信收费谁知道微信咋玩,怎么收费。印度it印度的IT业dreamweaver序列号DW序列号是多少啊
空间租用 已备案域名注册 Oray域名注册服务商 高防服务器租用选锐一 万网域名代理 2019年感恩节 hostmaster googleapps godaddy支付宝 iis安装教程 日本空间 hnyd 免费防火墙 国外视频网站有哪些 web服务器搭建 qq金券 免费个人主页 金主 zcloud htaccess 更多