C++ STL谓词判断算法std::all_of()函数入门 本节我们开始谓词判断算法的学习。那什么是谓词判断算法呢?首先我们要知道什么是查询算法,它指的是一类只能进行查询而不能修改元素的算法,其中,谓词判断算法是查询算法的一个子集,它们的功能是判断一个区间是否满足一元谓词的要求,满足则返回true,不满足则返回false。比如我们有一个序列{1,2,3,5,7,9},该序列很多元素都是奇数,我们想要知道这个序列是不是完全奇数序列,此时我们使用all_of( C++常用算法(二) 2025年10月25日 0 点赞 0 评论 160 浏览
C++ STL二分查找std::binary_search()函数入门 前面一节我们学习了equal_range()函数,该函数的功能是在指定有序区间内查找第一个高于目标元素的元素。本节我们开始学习新的二分查找函数——binary_search()函数。“binary”意为“二分的”,“search”意为“查找”,binary_search()函数的功能是在指定有序范围内判断是否存在目标元素。binary_search()函数的语法格式为:/*查找[fir C++常用算法(一) 2025年10月25日 0 点赞 0 评论 194 浏览
C++ STL二分查找std::equal_range()函数入门 前面一节我们学习了upper_bound()函数,该哈数的功能是在指定有序区间内查找第一个高于目标元素的元素。本节我们开始学习新的二分查找函数——equal_range()函数。“equal”意为“对等的”,“range”意为“范围”,equal_range()函数的功能是在指定有序范围内查找等于目标元素的元素范围,作用区间和lower_bound()函数一样都必须为有序区间,比如我们有一个有序序 C++常用算法(一) 2025年10月25日 0 点赞 0 评论 156 浏览
C++ STL二分查找std::lower_bound()函数入门 前面几章,我们已经深入学习了很多查找算法,比如find()函数、find_if()函数、find_first_of()函数等,它们都是线性查找。本节我们开始其他查找方式的学习,比如lower_bound()函数、upper_bound()函数、equal_range()函数和binary_search()函数,它们都能够查找元素,只不过底层采用二分查找的方式,效率比线性查找高。本节我们进行lowe C++常用算法(一) 2025年10月24日 1 点赞 0 评论 209 浏览
C++ STL分区算法std::partition_point()函数入门 到目前为止,我们已经学习了3个分区算法,读者知道他们分别是什么吗?partition()函数、stable_partition()函数和partition_copy()函数,它们都能够实现分区操作。比如我们可以通过stable_partition()函数对序列{1,2,3,4,5,6,7,8,9,10}进行“奇偶切割”,原序列处理后会变成{2,4,6,8,10,1,3,5,7,9}。当我们面临一些 C++常用算法(一) 2025年10月24日 0 点赞 0 评论 174 浏览
C++ STL分区算法std::partition_copy()函数入门 上一节我们学习了partitioin()函数和stable_partition()函数,读者是否能够记起它们的功能以及对他们进行区分呢?本节我们将继续进行分区算法——partition_copy()函数的学习。该函数与前面两个函数大不相同,究其根本是partition_copy()函数能够保证不破破坏原序列,并且把分区后的元素复制到新的两个序列里。比如原序列是{1,2,3,4,5,6,7,8,9, C++常用算法(一) 2025年10月24日 0 点赞 0 评论 143 浏览
C++ STL分区算法std::partition()函数入门 本节我们进行分区算法——partition()函数的学习。”partition“意为“隔断”,partition(beg,end,pred)函数的功能是将一个序列“切割”成两个序列(逻辑意义上操作,并非创建两个序列),前一个序列满足一元谓词,后一个序列不满足一元谓词,并返回指向第二个序列的起始迭代器。举个例子:比如我们有一个序列{1,3,5,6,7},我们想要把该序列分区,一个奇数区,一个偶数区, C++常用算法(一) 2025年10月24日 0 点赞 0 评论 159 浏览
C++ STL序列查找算法std::search_n()函数入门 上一节我们学习了序列查找算法search()函数,本节我们将继续学习序列查找算法——search_n()函数。我们知道,search()函数的功能是找寻主序列里第一次出现子序列的位置,那么这个search_n()函数到底有什么功能呢?“n”有“几个的意思”,search_n()函数的功能是在一个主序列中找寻第一次出现的n个连续且相等元素,类比search()函数的话就相当于是子序列变成了常量序列( C++常用算法(一) 2025年10月24日 0 点赞 0 评论 149 浏览
C++ STL序列查找算法std::search()函数入门 本节我们将继续进行序列查找的学习——search()函数。读者还记得我们之前学过的find_end()函数吗?如果忘记了可前往《C++ STL序列查找算法find_end()函数入门》自行学习。find_end()函数的功能是找寻主序列里最后一次出现子序列的位置,search()函数恰恰相反,search()函数的功能是找寻主序列里第一次出现子序列的位置。search(first1,last1,f C++常用算法(一) 2025年10月24日 0 点赞 0 评论 194 浏览