#include <iostream>
#include <list>
using namespace std;
class Comp
{
public:
//函数重载,小括号运算符,内部是策略运算规则
//函数对象,看似函数
bool operator()(int a,int b)
{
return a>b;
}
};
//定义全局函数做策略
bool fun(int a,int b)
{
return a>b;
}
int main()
{
int arr[10]={1,2,3,4,5,6,7,8};
list<int> t(arr,arr+6);
for(int val:t)
{
cout<<val<<" ";
}
cout << endl;
//排序
t.sort(Comp());
for(int val:t)
{
cout<<val<<" ";
}
cout << endl;
//全局排序
t.sort(fun);
for(int val:t)
{
cout<<val<<" ";
}
cout << endl;
//仿函数做策略;lamdar
t.sort([](int a,int b){return a<b;});
for(int val:t)
{
cout<<val<<" ";
}
cout << endl;
return 0;
}