set
set<T> s;//默认升序,相当于 set<int,less<T>>。
set<T, less<T>> s; //该容器是按升序方式排列元素。
set<T, greater<T>> s; //该容器是按降序方式排列元素。
map
map<T1, T2> m;//默认按键的升序方式排列元素,相当于 map<T1, T2, less<T1>> m
map<T1, T2, less<T1>> m; //该容器是按键的升序方式排列元素。
map<T1, T2, greater<T1>> m; //该容器是按键的降序方式排列元素。
priority_queue
priority_queue<T> p; //默认降序,大根堆,队头元素最大
priority_queue<T, vector<T>, less<T>> p; //相当于默认
priority_queue<T, vector<T>, greater<T>> p; //升序,最小值优先级队列,小根堆
本文深入探讨了C++中的三种容器:set、map和priority_queue的排序规则。set和map默认按升序排列元素,而通过指定比较函数可以改变排序方向。priority_queue默认实现为大根堆,即队头元素最大,但同样可以通过定制比较函数创建小根堆。了解这些容器的排序机制对于高效使用C++编程至关重要。
1139

被折叠的 条评论
为什么被折叠?



