#include<iostream>
#include<list>
#include<algorithm>
using namespace std;
/*字符串去重和容器的元素去重*/
bool IsEven(int data)
{
return 0 == (data & 0x01);
}
void test01()
{
string str = "aazbbbac";
//字符串去重:排序-->unique去重(只有排序后才能达到全部去重的目的,并且返回的迭代器指向是(未删除的最后一个元素后面的元素的迭代器,即:此位置之前就是原串的不重复顺序串)
sort(str.begin(), str.end());
cout << str << endl;
str.erase(unique(str.begin(), str.end()), str.end());
cout << str << endl;
}
int main()
{
test01();
list<int> mylist{ 1,2,3,4,5,6,7,10,8,6,2,5,3,1,5 };
mylist.remove_if(IsEven);
for (auto x : mylist)
cout << x << " ";
cout << endl;
mylist.sort();
mylist.unique();//list::unique是没有返回值的,并且会修改list的长度
//algorithm里的unique是有返回值的,并且不会修改容器的本身的属性
for (auto x : mylist)
cout << x << " ";
cout << endl;
mylist.insert(mylist.begin(),100);
return 0;
}
去重函数unique(Algorithm库中)和list的成员方法unique
于 2023-02-16 16:20:00 首次发布