代码拉取完成,页面将自动刷新
同步操作将从 GodOuO/Code_C++ 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
void printIntVector(const vector<int> &v){
for (vector<int>::const_iterator it = v.begin(); it != v.end(); ++it)
cout<<*it<<" ; ";
cout<<endl;
}
class mCompare
{
public:
bool operator()(int a,int b){
return a>b;
}
};
//仿函数 返回值 bool类型,一个参数 == 一元谓词
class Greater5
{
public:
bool operator()(int val){
return val>5;
}
};
void test01(){
vector<int> v;
for (int i = 0; i < 10; i++)
{
v.push_back(i+1);
}
//查找容器中 >5 的数据
vector<int>::iterator it = find_if(v.begin(),v.end(),Greater5()); //传入 匿名函数对象
if (it == v.end())
{
cout<<"Over5 is not in Vector"<<endl;
}
else{
while (it != v.end())
cout<<"Over5's data : "<<*(it++)<<endl;
}
}
//仿函数 返回值 bool类型,2个参数 == 二元谓词
void test02(){
vector<int> v;
for (int i = 0; i < 10; i++){
v.push_back(i+1);
}
for (int i = 5; i > 0; i--){
v.push_back(i);
}
sort(v.begin(),v.end());
printIntVector(v);
//使用函数对象(仿函数) 改变算法策略,降序排序
sort(v.begin(),v.end(),mCompare()); //参数加入 匿名函数对象,调用重载sort函数
printIntVector(v);
}
int main(){
//test01();
test02();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。