利用vector容器实现删除数组中相同元素,并排序
2018-09-30 17:16
225 查看
unique函数是一个去重函数,去除相邻中的重复元素(只留一个)。
其中,最关键的是:并不是删除并不是把重复的元素删除,而是全部放倒数组的后面。
因为,unique只是去除相邻的重复元素,因此,为了去除重复的元素,
应该,首先对数组/Vector进行排序,这样保证重复元素在相邻的位置。
unique函数,返回的是去重后的尾地址。
erase函数删除从这个元素到最后元素的所有的元素
#include<iostream> #include<algorithm> #include<vector> using namespace std; #define N 5 int main() { vector<int> v; int i; for (i = 0; i < N; i++) { int t; cin >> t; v.push_back(t); } sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end()); for (i = 0; i < v.size(); i++) { cout << v[i] << " "; } return 0; }阅读更多
相关文章推荐
- javascript 005 基于原型链实现类 数组去重,排序,根据值删除数组中元素,查某个值在数组中的索引,根据值,判断数组中是否有该值的元素
- (AS3)实现过滤数组/删除数组中的相同元素(记录6种方法)
- 约瑟夫问题 算法很简单保证每个人都能看懂用的是模拟现实 用数组实现 利用循环删除数组中的元素
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- js小练习:利用getElementsByTagName方法、for循环、this指针、数组实现对多个相同元素value值的改变
- 利用冒泡法实现一个随机数组中的元素排序
- 删除任意数组中相同的元素 , 删除排序后的数组中相同的元素
- 实现Vector容器的增加、删除、排序(算法函数排序)、遍历、复制操作
- 简单实现遍历vector 删除所有相同的元素
- 问题:利用输入输出流重载实现一个整数数组的输入和输出。 要求:输入一个数组大小 及 所有元素的值,排序后输出该数组的所有元素。
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
- AS3)实现过滤数组/删除数组中的相同元素(记录6种方法)
- CCArray数组或者vector容器元素在遍历时删除的删除技巧
- vector数组中删除相同元素(输入的元素输出时只能出现一次)
- 给定一个排序数组,删除重复的位置,使每个元素只出现一次,并返回新的长度。
- 根据指定的元素删除数组中相同的元素
- ArrayList类的实现,利用数组存储元素
- C语言单向动态链表程序,实现链表的建立,合并,重新排序,链表元素的插入与删除,以及根据元素成员的值进行元素删除。
- c++ vector容器 插入元素时实现自动排序
- C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置