主要包括循环队列 queue 和优先队列 priority_queue 两个容器。

queue

  • push, pop, front, back

priority_queue

  • push, pop, top
  • 重载 “ < ” 运算符
struct poi {
    int id;
    double x, y;
};
const int eps = 1e-8;

bool operator <(const poi &a, const poi &b) {
    return a.x + eps < b.x || a.x < b.x + eps && a.y < b.y;
}
  • 小根堆 priority_queue<int, vector<int>, greater<int> > 或:
struct rec {
    int id;
    double value;
};

bool operator <(const rec &a, const rec &b) {
    return a.value > b.value;
}
  • 懒惰删除法
posted on 2022-07-10 13:02  我疯故我在  阅读(120)  评论(0编辑  收藏  举报