c语言中优先级队列如何实现优先级相同的元素先进先出? 50

 我来答
weeweebt
2016-02-24
知道答主
回答量:19
采纳率:0%
帮助的人:11.2万
展开全部
最原始的办法:
1,用链表实现队列
2,队列的添加是从链表尾向前遍历
T* newNode;
T* tmp = (T*)tail;
while (tmp != NULL) {
if (newNode->pri > tmp->pri) {
tmp = tmp->prev;
continue;
}
else if (newNode->pri <= tmp->pri) {
newNode->next = tmp->next;

tmp->next->prev = newNode;
tmp->next = newNode;
newNode->prev = tmp;
}
}
3,取队列时从链表头开始取
追问
用数组呢?
优先队列不是以二叉堆为模型吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式