注意: 所有不支持随机访问的迭代器容器,不可以使用标准算法 不支持随机访问的迭代器容器,内部会提供对应的一些算法
#include<iostream>
using namespace std;
#include<list>
//防止数据修改,只做读取操作
void print(const list<int>& L)
{
for (list<int>::const_iterator it = L.begin(); it != L.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
bool compare(int val1, int val2)
{
//降序 就让第一个数大于第二个数
return val1>val2;
}
//list的反转和排序
void test()
{
list<int> l1;
l1.push_back(5);
l1.push_back(2);
l1.push_back(0);
cout << "反转前: ";
print(l1);
cout << "反转后; ";
l1.reverse();
print(l1);
//排序操作
//sort(l1); 报错
l1.sort();
cout << "排序后: ";
//默认是从小到大排序 升序
print(l1);
//可以使用sort的重载版本达到降序,从大到小排的操作
cout << "降序: ";
l1.sort(compare);
print(l1);
}
int main()
{
test();
system("pause");
return 0;
}
总结: 反转:reverse 排序: sort