set一般插入元素时,默认使用关键字类型的<
运算符来比较两个关键字,故一般插入后为升序,举个例子:
int main(int argc, char* argv[])
{
set<int> s;
s.insert(2);
s.insert(1);
s.insert(3);
set<int>::iterator it = s.begin();
for (; it != s.end(); ++it){
cout << *it;
}
return 0;
}
如果想元素按降序排序,代码如下:
#include<set>
#include<functional>
int main(int argc, char* argv[])
{
set<int, greater<int>> s;
s.insert(2);
s.insert(1);
s.insert(3);
set<int, greater<int>>::iterator it = s.begin();
for (; it != s.end(); ++it){
cout << *it;
}
return 0;
}