C++高级_STL常用的查找算法详解

常用的查找算法

adjacent_find:      在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器,否则返回 end()。重载版本使用输入的二元操作符代替相等的判断。

binary_search:     在有序序列中查找value,找到返回true。重载的版本实用指定的比较函数对象或函数指针来判断相等。

count:                 利用等于操作符,把标志范围内的元素与输入值比较,返回相等元素个数。

count_if:              利用输入的操作符,对标志范围内的元素进行操作,返回结果为true的个数。

equal_range:       功能类似equal,返回一对iterator,第一个表示lower_bound,第二个表示upper_bound。

find:                     利用底层元素的等于操作符,对指定范围内的元素与输入值进行比较。当匹配时,结束搜索,返回该元素的一个

adjacent_find()函数

在iterator对标示元素范围内,查找一堆相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器,否在返回 end()

iterator adhacent_find(begin,end);

binary_search()函数

有序序列中查找 value 找到则返回true。(注意:在无序序列中,不可使用

bool binary_search(begin, end, calue);

count()函数

利用等于操作符,将使人的数与标志范围内的数比较,返回相等元素的个数

size_t count(begin, end, balue);

ciunt_if() 函数

在查找范围内,自定义的查找规则,返回符合标准的个数

size_t count_if(begin, end, 谓词);

find()函数

查找范围内指定元素

查找成功返回该元素的迭代器

失败返回end()

iterator find(begin, end, value);

find_if()函数

查找范围内指定条件的元素

成功返回该元素迭代器

失败返回 end()

iterator find_if(begin, end, 谓词);

下面是我写的以上几个函数的练习演示代码:

 

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注