【C++ STL 容器】——优先队列

古城微笑少年丶 2022-10-06 14:45 253阅读 0赞

概念

优先队列即priority_queue类,带优先权的队列,优先权高度元素优先出队。与普通队列相比,共同点都是对队头做删除操作,队尾做插入操作,但不一定遵循先进先出原则,priority_queue是一个基于某个几本序列进行构建的适配器,默认的序列容器是vector。

常用函数

  • 构造函数

    • priority_queue(const Pred& pr = Pred(),const allocator_type& al = allocator_type());创建元素类型为T的空优先队列,Pred是二元比较函数,默认是less
    • priority_queue(const value_type *first,const value_type *last, const Pred& pr = Pred(),const allocator_type& al = allocator_type());以迭代器[first,last)指向元素,创建元素类型为T的优先队列,Pred是二元比较函数,默认是less.
  • 操作函数

    • bool empty();如果优先队列为空返回true,否则返回false。
    • int size();返回优先队列中元素数量。
    • void push(const T& t);把t元素压入优先队列。
    • void pop();优先队列非空情况下,删除优先级最高元素。
    • T& top();优先队列非空情况下,返回优先级最高元素的引用。

发表评论

表情:
评论列表 (有 0 条评论,253人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++ STL 容器】——队列和堆栈

    简介 队列和堆栈都是比较常用的数据结构。队列只允许在表的一端插入,在另一端删除,允许插入的一端叫做队尾,允许删除的一端叫做队头,是先进先出的线性表。栈允许在表的一端进行插

    相关 [转]: STL priority_queue 优先队列

    刚开始学习算法不久,一些常用的算法工具还没有掌握,真是丢人! 前一段时间用到优先级队列时,都是自己手动通过最大堆或者最小堆来写一个,容易出错且耗时。接触到STL后,开始用ma

    相关 C++ STL优先队列常用用法

    优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级

    相关 STL容器优先队列

    队列的定义: 队列(queue)维护了一组对象,进入队列的对象被放置在尾部,下一个被取出的元素则取自队列的首部。priority\_queue特别之处在于,允许用户为队列

    相关 STL优先队列

    STL之优先队列 原本以为priority\_queue很简单,才知道原来懂的只是最简单的形式。 头文件:\include<queue> 优先队列,也就是原来我们学过的堆

    相关 c++ 容器STL

    STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的