【发布时间】:2021-10-20 18:17:19
【问题描述】:
我想知道为什么priority_queue 和vector 的工作方式完全不同。这是示例:
priority_queue<int, vector<int>, less<int> > pq;
pq.push(1);
pq.push(2);
pq.push(3);
// if we print the elem in pq by pop(), we get 3, 2, 1
vector<int> v;
v.push_back(1);
v.push_back(3);
v.push_back(2);
std::sort(v.begin(), v.end(), less<int>());
// but we get 1, 2, 3 for vector
priority_queue 和vector 都使用了less,但是为什么结果不一样呢?
【问题讨论】:
标签: c++ c++11 stl priority-queue