首页 技术 正文
技术 2022年11月8日
0 收藏 476 点赞 1,308 浏览 75216 个字

 一.unique函数

类属性算法unique的作用是从输入序列中“删除”所有相邻的重复元素

该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器(容器的长度没变,只是元素顺序改变了),表示无重复的值范围得结束。

C++ STL算法系列1—unique , unique_copy函数

 1 // sort words alphabetically so we can find the duplicates
2 sort(words.begin(), words.end());
3 /* eliminate duplicate words:
4 * unique reorders words so that each word appears once in the
5 * front portion of words and returns an iterator one past the
6 unique range;
7 * erase uses a vector operation to remove the nonunique elements
8 */
9 vector<string>::iterator end_unique = unique(words.begin(), words.end());
10 words.erase(end_unique, words.end());

C++ STL算法系列1—unique , unique_copy函数

在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留一个),其实它并不真正把重复的元素删除,是把重复的元素移到后面去了,然后依然保存到了原数组中,然后 返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。

若调用sort后,vector的对象的元素按次序排列如下:

sort  jumps  over quick  red  red  slow  the  the turtle

则调用unique后,vector中存储的内容是:

aaarticlea/png;base64,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” alt=”” />

注意,words的大小并没有改变,依然保存着10个元素;只是这些元素的顺序改变了。调用unique“删除”了相邻的重复值。给“删除”加上引号是因为unique实际上并没有删除任何元素,而是将无重复的元素复制到序列的前段,从而覆盖相邻的重复元素。unique返回的迭代器指向超出无重复的元素范围末端的下一个位置。

注意:算法不直接修改容器的大小。如果需要添加或删除元素,则必须使用容器操作。

example:

C++ STL算法系列1—unique , unique_copy函数

 1 #include <iostream>
2 #include <cassert>
3 #include <algorithm>
4 #include <vector>
5 #include <string>
6 #include <iterator>
7 using namespace std;
8
9 int main()
10 {
11 //cout<<"Illustrating the generic unique algorithm."<<endl;
12 const int N=11;
13 int array1[N]={1,2,0,3,3,0,7,7,7,0,8};
14 vector<int> vector1;
15 for (int i=0;i<N;++i)
16 vector1.push_back(array1[i]);
17
18 vector<int>::iterator new_end;
19 new_end=unique(vector1.begin(),vector1.end()); //"删除"相邻的重复元素
20 assert(vector1.size()==N);
21
22 vector1.erase(new_end,vector1.end()); //删除(真正的删除)重复的元素
23 copy(vector1.begin(),vector1.end(),ostream_iterator<int>(cout," "));
24 cout<<endl;
25
26 return 0;
27 }

C++ STL算法系列1—unique , unique_copy函数

运行结果为:

aaarticlea/png;base64,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” alt=”” />

二、unique_copy函数

算法标准库定义了一个名为unique_copy的函数,其操作类似于unique。

唯一的区别在于:前者接受第三个迭代器实参,用于指定复制不重复元素的目标序列。

unique_copy根据字面意思就是去除重复元素再执行copy运算。

编写程序使用unique_copy将一个list对象中不重复的元素赋值到一个空的vector对象中。

C++ STL算法系列1—unique , unique_copy函数

 1 //使用unique_copy算法
2 //将一个list对象中不重复的元素赋值到一个空的vector对象中
3 #include<iostream>
4 #include<list>
5 #include<vector>
6 #include<algorithm>
7 using namespace std;
8
9 int main()
10 {
11 int ia[7] = {5 , 2 , 2 , 2 , 100 , 5 , 2};
12 list<int> ilst(ia , ia + 7);
13 vector<int> ivec;
14
15 //将list对象ilst中不重复的元素复制到空的vector对象ivec中
16 //sort(ilst.begin() , ilst.end()); //不能用此种排序,会报错
17 ilst.sort(); //在进行复制之前要先排序,切记
18 unique_copy(ilst.begin() , ilst.end() , back_inserter(ivec));
19
20 //输出vector容器
21 cout<<"vector: "<<endl;
22 for(vector<int>::iterator iter = ivec.begin() ; iter != ivec.end() ; ++iter)
23 cout<<*iter<<" ";
24 cout<<endl;
25
26 return 0;
27 }

C++ STL算法系列1—unique , unique_copy函数

假如

list<int> ilst(ia , ia + 7);
改为:vector<int> ilst(ia , ia + 7);

则排序时可用:

sort(ilst.begin() , ilst.end());

这里要注意list和vector的排序用什么方法。

《Effective STL》里这些话可能有用处:
item 31
  
  “我们总结一下你的排序选择:
   ● 如果你需要在vector、string、deque或数组上进行完全排序,你可以使用sort或stable_sort。
   ● 如果你有一个vector、string、deque或数组,你只需要排序前n个元素,应该用partial_sort
   ● 如果你有一个vector、string、deque或数组,你需要鉴别出第n个元素或你需要鉴别出最前的n个元素,而不用知道它们的顺序,nth_element是你应该注意和调用的。
   ● 如果你需要把标准序列容器的元素或数组分隔为满足和不满足某个标准,你大概就要找partition或stable_partition。
   ● 如果你的数据是在list中,你可以直接使用partition和stable_partition,你可以使用list的sort来代替sort和stable_sort。如果你需要partial_sort或nth_element提供的效果,你就必须间接完成这个任务,但正如我在上面勾画的,会有很多选择。
  
  另外,你可以通过把数据放在标准关联容器中的方法以保持在任何时候东西都有序。你也可能会考虑标准非STL容器priority_queue,它也可以总是保持它的元素有序。
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,557
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898