作业介绍
优先队列
priority_queue又称为优先队列。在优先队列中,队首元素一定是当前队列中优先级最高的那一个。
定义
priority_queue<type, container, functional> name; 三个参数分别为:类型 容器 比较器
priority_queue<int, vector<int>, less<int> > pq_max;
priority_queue<int> pq_max;//通常简写最大值优先
priority_queue<int, vector<int>, greater<int> > pq_min;//最小值优先,注意greater后的>>中间需要空格隔开,以区分右移运算符;
成员函数
以下所有函数均为常数复杂度
top()
访问堆顶元素(此时优先队列不能为空)empty()
询问容器是否为空size()
查询容器中的元素数量
以下所有函数均为对数复杂度
push(x)
插入元素,并对底层容器排序pop()
删除堆顶元素(此时优先队列不能为空)
其他 对于自定义类型,如结构体,需要重载运算符,制定比较规则。
例如:
struct node{
int x, y;
bool operator <(const node &s)const
{
if(x < s.x)//重载<运算符
{
return true;
}
return false;
}
};
题目
认领作业后才可以查看作业内容。
- 状态
- 正在进行…
- 题目
- 11
- 开始时间
- 2025-1-9 0:00
- 截止时间
- 3333-5-1 23:59
- 可延期
- 24 小时