c++非可变序列算法

来源:互联网 发布:木星上行知乎 编辑:程序博客网 时间:2024/06/15 21:18

.非可变序列算法:就是不会改变容器内容的算法。

使用算法要包含#include<algorithm>头文件。

adjacent_find(first,last)和count(first,last,element)

查找相邻的重复元素,并计算相同元素的个数

#include<iostream>#include<set>#include<algorithm>using namespace std;void main(){multiset<int>a;multiset<int>::iterator t;a.insert (7);a.insert (7);a.insert (2);a.insert (5);a.insert (6);a.insert (5);for(t=a.begin ();t!=a.end ();t++){cout<<*t<<"  ";}cout<<endl;t=adjacent_find(a.begin(),a.end () );//find duplicate elementcout<<*t++<<"  ";cout<<*t<<endl;int i=count(a.begin (),a.end (),5);//Using the algorithm to calculate the number of elementscout<<"元素5的个数:"<<i<<endl;system("pause");}

find(first,last,data)

搜索元素

#include<iostream>#include<set>#include<algorithm>using namespace std;void main(){multiset<int>a;multiset<int>::iterator t;a.insert (7);a.insert (5);a.insert (3);a.insert (8);a.insert (9);a.insert (4);for(t=a.begin ();t!=a.end ();t++){cout<<*t<<"  ";}cout<<endl;t=find(a.begin (),a.end (),5);//search elementif(t!=a.end() ){cout<<"find"<<endl;}else{cout<<"not find"<<endl;}system("pause");}

for_each(first,last,func)

对范围中的元素调用func函数

#include<iostream>#include<set>#include<algorithm>using namespace std;void func(int i){cout<<i<<"  ";}void main(){multiset<int>a;multiset<int>::iterator t;a.insert (7);a.insert (5);a.insert (3);a.insert (8);a.insert (9);a.insert (4);for_each(a.begin(),a.end(),func);//call functioncout<<endl;system("pause");}


0 0
原创粉丝点击