1. 步骤
- 用 qSort( )函数 排序;
- 用 unique( )函数 去重:unique 函数返回容器中重复元素的迭代器的首地址iter,所需头文件 #include <algorithm>;
- 配合 erase( )函数 擦除:擦除iter首地址,终点是容器末尾arr.end( );
2. 注意
- 去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。
- unique针对的是相邻元素,所以对顺序错乱的数组成员或者容器成员,需要先进行排序。
3. 例
//所需头文件
QVector<int> lst;
qSort(lst.begin(),lst.end()); //排序
auto m_unitime = std::unique(lst.begin(),lst.end()); // 去重
lst.erase(m_unitime,lst.end()); //擦除