1头文件:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
补充说明:a.begin()
表示的是指向容器 a
中第一个元素的迭代器(iterator)。迭代器是一种抽象的数据类型,类似于指针,用于在容器中遍历元素;
2对容器中所有函数做运算:
vector<int>a={1,2,3,4,5};
for_each(a.begin(),a.end(),[](int &n){
n*=3;
});
3查找容器中满足条件的个数:
int count=count_if(a.begin(),a.end(),[](int n){
return n%2==0;
});
cout<<count<<endl;
4查找容器中的满足条件的第一个元素:
auto emo=find_if(a.begin(),a.end(),[](int n){
return n>4;
});
cout<<*emo<<endl;
5查找容器中的满足条件的所有元素:
for(auto it=a.begin();it!=a.end();++it){
if(*it>3){
cout<<*it<<endl;
}
}
6判断两个容器的元素是否相等:
vector<int>a={1,2,3,4,5};
vector<int>b={1,2,3,4,5};
if(equal(a.begin(),a.end(),b.begin())){
cout<<"相等";
}
其中(equal(a.begin(),a.end(),b.begin());分别表示第一个元素和尾后位置的迭代器,而 b.begin()
表示第二个容器的第一个元素的迭代器。equal会自动补齐第二个位置的迭代器;
7输出操作:
for(const &i:a){
cout<<i<<end;}
此处的&表示引用,不修改容器的值。
以上是cpp<algorithm>模板库的非修改性算法;