直接上代码:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> li = { 1,2,1,3,2 };
li.sort();
li.unique();
for (auto it = li.begin(); it != li.end(); ++it)
{
cout << *it << endl;
}
}
list本身提供了sort函数和unique函数,因此用这两个函数就可以实现去重。
C++标准库中的sort函数不能用于list,比如:
sort(list.begin(),list.end()); 这样的代码是不能编译通过的。
标准库中的函数sort可以用于数组,vector, deque。vector和deque的内部机制都是用数组实现的,因此可以使用标准库中的sort函数。但list内部是用链表提供的,因此需要他自身提供sort函数。