使用C++的STL又踩了一个坑,记录一下。
应该也适用algorithm中的sort,举一反三。
一般的情况(非自定义数据类型)
list<int> lst;
我们可以直接使用**.sort()方法直接排序,得到一个升序**的list。
如果我们想得到一个降序的list,可以这样写:
/*自定义一个函数,名称非固定。
*参数的顺序可以看成list中的参数顺序*/
bool compare(int a,int b){
return a>=b;
}
/*在使用list.sprt()时传入函数名*/
int main(){
list<int> lst;
lst.sort(compare);
}
特殊情况(使用自定义的数据类型,如struct、class)
需要在内部重载运算符,举一反三
#include<list>
using namespace std;
struct edge {
int a, b