常用算法--C++

文章目录

  • 一、谓词
  • 二、标准算法`algorithm`
    • 1、`sort` 排序算法
      • 第一种sort重载
      • 第二种sort重载
    • 2、`find_if` 查找算法
  • 总结



一、谓词

概念:
●返回bool类型的仿函数称为谓词

●如果operator()接受一个参数,那么叫做一元谓词

●如果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()
{
	vector<int> 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 查找算法


总结

你可能感兴趣的:(算法,c++)