.非可变序列算法:就是不会改变容器内容的算法。
使用算法要包含#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 element
cout<<*t++<<" ";
cout<<*t<<endl;
int i=count(a.begin (),a.end (),5); //Using the algorithm to calculate the number of elements
cout<<"元素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 element
if(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 function
cout<<endl;
system("pause");
}