您的位置:首页 > 产品设计 > UI/UE

STL(二十)priority_queue优先队列容器

2017-09-01 21:40 471 查看
      优先队列也是一种从一端入队,另一端出队的队列。不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出队并非按照先进先出的要求,将最先入队的元素出队,而是将当前队列中的最大元素出队。

      STL优先队列的泛化,底层默认采用vector向量容器,使得队列容器的元素可做数组操作,从而应用堆算法找出当前队列最大元素,并将它调整到队首位置,确保最大元素先出队。

       堆算法(heap algorithm)具有nlog(n)阶的算法时间复杂度

一、priority_queue技术原理

        大根堆

        小根堆

二、priority_queue应用基础

#include <queue>

1、创建priority_queue对象

      priority_queue()

      priority_queue(const  priority_queue &)

2、元素入队

      void  push(const  value_type  &x)

3、元素出队

      void pop()

4、取队首元素

      const value_type&  top()  const

5、队列非空判断

       bool    empty()

6、队列的大小

       size_type  size()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: