哪类型网站容易做,公司网站建设的分类,wordpress跳转到微信,首页网站怎么做的文章目录 一、谓词二、标准算法algorithm1、sort 排序算法第一种sort重载第二种sort重载 2、find_if 查找算法 一、谓词
概念: ●返回bool类型的仿函数称为谓词
●如果operator()接受一个参数#xff0c;那么叫做一元谓词 _InIt find_if(_InIt _First, const _InIt _Last, _… 文章目录 一、谓词二、标准算法algorithm1、sort 排序算法第一种sort重载第二种sort重载 2、find_if 查找算法 一、谓词
概念: ●返回bool类型的仿函数称为谓词
●如果operator()接受一个参数那么叫做一元谓词 _InIt find_if(_InIt _First, const _InIt _Last, _Pr _Pred) _InIt _First为要查找区间的初始位置。const _InIt _Last为要查找区间的结束位置。_Pr _Pred为一元谓词也称仿函数。 ●如果operator()接受两个参数那么叫做二元谓词 例如void sort(const _RanIt _First, const _RanIt _Last, _Pr _Pred)最后 _Pr _Pred 为二元谓词需要两个参数比较大小 二、标准算法algorithm 1、sort 排序算法
函数原型分为两种
第一种sort重载
●void sort(const _RanIt _First, const _RanIt _Last) 两个参数为要排序的区间 第二种sort重载
●void sort(const _RanIt _First, const _RanIt _Last, _Pr _Pred) 最后 _Pr _Pred 为谓词也是仿函数 class compare
{
public:bool operator()(int v1, int v2){return v1 v2;}
};void test01()
{vectorint v;v.push_back(20);v.push_back(10);v.push_back(50);v.push_back(23);v.push_back(40);v.push_back(18);cout ------- 排序前 ------- endl;printVector(v);//遍历容器sort(v.begin(), v.end(), compare());cout ------- 排序后 ------- endl;printVector(v);//遍历容器
}2、find_if 查找算法
函数原型
●_InIt find_if(_InIt _First, const _InIt _Last, _Pr _Pred) _InIt _First为要查找区间的初始位置。const _InIt _Last为要查找区间的结束位置。_Pr _Pred为一元谓词也称仿函数。 class Find
{
public:bool operator()(int val){return val 5;}
};void test02()
{vectorint v;v.push_back(20);v.push_back(10);v.push_back(50);v.push_back(23);v.push_back(5);v.push_back(18);vectorint::iterator it find_if(v.begin(), v.end(), Find());if (it ! v.end()){cout 查找成功 *it endl;}else{cout 查找失败 endl;}
}