C++ 特殊容器 —— priority_queue 用法详解

C++ 特殊容器 —— priority_queue 用法详解

写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理。但别人的博客终究是别人的, 最好自己上手操作一下.
写的不好, 请大神手下留情.

下面说的 “运行之后” 表示: 运行上个语句之后的结果.
一行如果说的太长的话, 就得拖动下面的进度条才能看到后面的内容, 非常麻烦
因此将一段话分成了多行, 就像现在这种形式

目录

    • C++ 特殊容器 —— priority_queue 用法详解
      • 简介
      • 构造函数
      • 成员函数

简介

头文件: # include < queue >
在队列的基础上将内部进行排序, 默认降序, 只能访问头部
点击前往: queue 用法详解

构造函数

priority_queue <int> pq, pq1;
//定义 int 类型的优先队列

priority_queue <char> pqch;
//定义 char 类型的优先队列

priority_queue <string> pqstr;
//定义 string 类型的优先队列

priority_queue <int> pq2(pq);
//定义新容器, 拷贝 pq 所有的元素

priority_queue <int, vector<int> > pq3;
//使用 vector 容器实现优先队列

priority_queue <int, vector <int>, greater <int> > pq2;
//升序排列容器内元素

成员函数

pq.top();
//返回队列头部元素
//例: pq={1,2,3,4}
//返回 1

pq.push(5);
//在队列尾部插入新元素 5
//例: pq={1,2,3,4}
//执行之后, pq={1,2,3,4,5}


pq.emplace(5);
//在队列尾部创建新元素 5
//例: pq={1,2,3,4}
//执行之后, pq={1,2,3,4,5}

pq.pop();
//删除队列头部元素
//例: pq={1,2,3,4}
//执行之后, pq={2,3,4}

pq.size();
//返回容器目前的元素个数
//例: pq={1,2,3,4}
//返回 4

pq.empty();
//容器为空返回true, 否则返回 false

pq.swap(pq1);
//交换两个容器的内容
//例: pq={1,2,3}, pq1={4,5,6}
//执行之后, pq={4,5,6}, pq1={1,2,3}

你可能感兴趣的:(C++,常用容器及算法)