优先队列(priority |
您所在的位置:网站首页 › 队列的操作特性是什么 › 优先队列(priority |
文章目录
priority_queue一.优先队列简介二.优先队列特性和操作1.头文件&定义2.默认优先输出大数据(1).举例3.优先输出小数据 即小顶堆(1).举例4.自定义优先级 重载默认的 < 符号(1).使用 funtion .(2). 自定义数据类型
三.基本函数实现1.构造函数2.添加函数3.删除函数4.判断函数5.大小函数6.其他函数7.总结
代码详解1.基本类型优先队列的例子:2.用pair做优先队列元素的例子:3.用自定义类型做优先队列元素的例子
priority_queue
优先队列(priority_queue),实际上,它的本质就是一个heap,可以参考传送门 这个写的也不错 优先级队列是一个拥有权值观念的queue。它允许在底端添加元素、在顶端去除元素、删除元素。 缺省情况下,优先级队列利用一个大顶堆完成。
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。 首先要包含头文件#include, 他和queue不同的就在于我们可以自定义其中数据的优先级,让优先级高的排在队列前面,优先出队。 二.优先队列特性和操作优先队列具有队列的所有特性,包括队列的基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。 1.头文件&定义 #include #include //greater // 定义 priority_queue pq; 2.默认优先输出大数据priority_queue 其中, Type 为数据类型. Container 为保存数据的容器. Functional 为元素比较的方式. 若不写后面两个参数. 容器 默认使用 vector 比较方式 默认使用 operator |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |