- 查找子序列算法,除 find_first_of(前两个输入迭代器,后两个前向迭代器) 外,都要求两个前向迭代器
search(beg1, end1, beg2, end2); // 返回第二个输入范围(子序列)在爹一个输入范围中第一次出现的位置,未找到则返回 end1search(beg1, end1, beg2, end2, binaryPred); // 返回第二个输入范围(子序列)在爹一个输入范围中第一次出现的位置,未找到则返回 end1find_first_of(beg1, end1, beg2, end2); // 返回一个迭代器,指向第二个输入范围中任意元素在第一个范围中首次出现的位置,未找到则返回end1find_first_of(beg1, end1, beg2, end2, binaryPred); // 返回一个迭代器,指向第二个输入范围中任意元素在第一个范围中首次出现的位置,未找到则返回end1find_end(beg1, end1, beg2, end2); // 类似 search,但返回的最后一次出现的位置 。如果第二个输入范围为空,或者在第一个输入范围为空,或者在第一个输入范围中未找到它,则返回 end1find_end(beg1, end1, beg2, end2, binaryPred); // 类似 search,但返回的最后一次出现的位置 。如果第二个输入范围为空,或者在第一个输入范围为空,或者在第一个输入范围中未找到它,则返回 end1 - 其他只读算法,传入输入迭代器
for_each(beg, end, unaryOp); // 对输入序列中的每个元素应用可调用对象 unaryOp,unaryOp 的返回值被忽略mismatch(beg1, end1, beg2); // 比较两个序列中的元素 。返回一个迭代器的 pair,表示两个序列中第一个不匹配的元素mismatch(beg1, end1, beg2, binaryPred); // 比较两个序列中的元素 。返回一个迭代器的 pair,表示两个序列中第一个不匹配的元素equal(beg1, end1, beg2); // 比较每个元素,确定两个序列是否相等 。equal(beg1, end1, beg2, binaryPred); // 比较每个元素,确定两个序列是否相等 。 - 二分搜索算法,传入前向迭代器或随机访问迭代器(random-access iterator),要求序列中的元素已经是有序的
lower_bound(beg, end, val); // 返回一个非递减序列 [beg, end) 中的第一个大于等于值 val 的位置的迭代器,不存在则返回 endlower_bound(beg, end, val, comp); // 返回一个非递减序列 [beg, end) 中的第一个大于等于值 val 的位置的迭代器,不存在则返回 endupper_bound(beg, end, val); // 返回一个非递减序列 [beg, end) 中第一个大于 val 的位置的迭代器,不存在则返回 endupper_bound(beg, end, val, comp); // 返回一个非递减序列 [beg, end) 中第一个大于 val 的位置的迭代器,不存在则返回 endequal_range(beg, end, val); // 返回一个 pair,其 first 成员是 lower_bound 返回的迭代器,其 second 成员是 upper_bound 返回的迭代器binary_search(beg, end, val); // 返回一个 bool 值,指出序列中是否包含等于 val 的元素 。对于两个值 x 和 y,当 x 不小于 y 且 y 也不小于 x 时,认为它们相等 。 - 只写不读算法,要求输出迭代器(output iterator)
fill(beg, end, val); // 将 val 赋予每个元素,返回 voidfill_n(beg, cnt, val); // 将 val 赋予 cnt 个元素,返回指向写入到输出序列最有一个元素之后位置的迭代器genetate(beg, end, Gen); // 每次调用 Gen() 生成不同的值赋予每个序列,返回 voidgenetate_n(beg, cnt, Gen); // 每次调用 Gen() 生成不同的值赋予 cnt 个序列,返回指向写入到输出序列最有一个元素之后位置的迭代器7.使用输入迭代器的写算法,读取一个输入序列,将值写入到一个输出序列(dest)中
copy(beg, end, dest); // 从输入范围将元素拷贝所有元素到 dest 指定定的目的序列copy_if(beg, end, dest, unaryPred); // 从输入范围将元素拷贝满足 unaryPred 的元素到 dest 指定定的目的序列copy_n(beg, n, dest); // 从输入范围将元素拷贝前 n 个元素到 dest 指定定的目的序列move(beg, end, dest); // 对输入序列中的每个元素调用 std::move,将其移动到迭代器 dest 开始始的序列中transform(beg, end, dest, unaryOp); // 调用给定操作(一元操作),并将结果写到dest中transform(beg, end, beg2, dest, binaryOp); // 调用给定操作(二元操作),并将结果写到dest中replace_copy(beg, end, dest, old_val, new_val); // 将每个元素拷贝到 dest,将等于 old_val 的的元素替换为 new_valreplace_copy_if(beg, end, dest, unaryPred, new_val); // 将每个元素拷贝到 dest,将满足 unaryPred 的的元素替换为 new_valmerge(beg1, end1, beg2, end2, dest); // 两个输入序列必须都是有序的,用小于号运算符将合并后的序列写入到 dest 中merge(beg1, end1, beg2, end2, dest, comp); // 两个输入序列必须都是有序的,使用给定的比较操作(comp)将合并后的序列写入到 dest 中
推荐阅读
-
收藏大师|这4位明星竟真的是警察,张家辉上榜,最后一位还是“警花”
-
小哈带你看世界|为了还清我国援助资金,竟然以这样的方式,委内瑞拉出奇招
-
-
腾讯极光盒子300元就能改造顶级智能电视,保5年流畅,体验腾讯极光盒子2s
-
和女朋友谈了两年多了,她父母非叫她回老家,很坚决,该咋办
-
支付宝|防止小学生游戏充值?支付宝公开未成年人防沉迷专利
-
生生不息|嘴里容易咳出痰,这是鼻涕吗?不妨了解下!,人在咳嗽时
-
|邱淑贞女儿沈月颜值太高了!肤白貌美赢过偶像剧女主,随便拍都是大片
-
-
从心理学角度来看,现在被家长“惯坏”的零零后有多少会成为社会的隐患
-
不甘心的萌可爱|就一定要改正?做个“孤独患者”不好吗?,孩子内向
-
-
-
社交场合需要注意的7个礼仪 公共社交礼仪常识有什么
-
猪肉|中国队穿防护服赴日参赛,日网友评论亮了!回应来了……
-
梦见自己的鞋找不到穿别人的鞋是什么意思 梦见自己鞋找不到穿别人的鞋走在混浊的水里
-
儿童饮食|晒晒孩子开学一周的早餐,不浪费,搭配均衡,网友:照着做准没错
-
为什么想应聘文员,面试官问你为什么不做销售想做文员-
-
新民晚报|志愿者专属福利——“上海公益保”11月1日起实施了!
-
第一次使用保温杯该如何清洗 第一次使用保温杯怎么清洗