优先队列什么叫优先级队列?优先级队列和队列有什么相同之处和不同之处?
数据结构中优先级队列和平衡二叉树的区别
优先队列指的是出队的是优先级最高的元素,一般用堆实现,这个堆机器实现时逻辑结构是完全二叉树,一般根结点的权值大于或者小于子树根的权值
平衡二叉树是用于查找的二叉排序树,要求左右子树高度差绝对值不超过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;
}
/*
都满足你的要求了,以上是使用链表结构的队列
*/什么叫优先级队列?优先级队列和队列有什么相同之处和不同之处?
优先级队列是带有优先级的队列;
相同之处:对优先级相同的元素和普通队列一样遵循“先进先出”的原则、
不同之处:在于优先级队列的出队列操作不是把队头元素出队列,而是把队列中优先级最高的数据元素出队列。
腾讯云轻量应用服务器又要免费升级配置了,之前已经免费升级过一次了(腾讯云轻量应用服务器套餐配置升级 轻量老用户专享免费升配!),这次在上次的基础上再次升级。也许这就是良心云吧,名不虚传。腾讯云怎么样?腾讯云好不好。腾讯云轻量应用服务器 Lighthouse 是一种易于使用和管理、适合承载轻量级业务负载的云服务器,能帮助个人和企业在云端快速构建网站、博客、电商、论坛等各类应用以及开发测试环境,并提供...
螢光云官網萤光云成立于2002年,是一家自有IDC的云厂商,主打高防云服务器产品。在国内有福州、北京、上海、台湾、香港CN2节点,还有华盛顿、河内、曼谷等海外节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。本次萤光云中秋云活动简单无套路,直接在原有价格上砍了一大刀,最低价格16元/月,而且有没有账户限制,新老客户都可以买,就是直接满满的诚意给大家送优惠了!官网首页:www....
今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...
优先队列为你推荐
formation什么是word formationoracle11g下载我从oracle官网上下载了 oracle11g 不知道怎么安装qq实名注册请问手机QQ上实名认证怎么弄?scanf返回值Scanf()函数的使用系统登录界面电脑启动总是出现登录界面怎么解决rs485协议485总线上modbus通信协议?手机壳生产厂家请问哪里有便宜的手机壳批发?谢谢!spinmaster手指滑板品牌协亨协亨,话机世界,迪信通哪个买手机更便宜?空间图片空间图片
vps虚拟主机 国外服务器租用 播放vps上的视频 t牌 godaddy优惠券 info域名 好看的桌面背景大图 一点优惠网 商家促销 本网站在美国维护 100m独享 南通服务器 搜索引擎提交入口 789电视剧 drupal安装 彩虹云 cloudlink 域名dns 腾讯总部在哪 网通服务器 更多