#include<algorithm>里的函数

#include<algorithm>

    非修改性序列操作(12个)
  循环 对序列中的每个元素执行某操作 for_each()
  查找 在序列中找出某个值的第一次出现的位置 find()
  在序列中找出符合某谓词的第一个元素 find_if()
  在序列中找出一子序列的最后一次出现的位置 find_end()
  在序列中找出第一次出现指定值集中之值的位置 find_first_of()
  在序列中找出相邻的一对值 adjacent_find()
  计数 在序列中统计某个值出现的次数 count()
  在序列中统计与某谓词匹配的次数 count_if()
  比较 找出两个序列相异的第一个元素 mismatch()
  两个序列中的对应元素都相同时为真 equal()
  搜索 在序列中找出一子序列的第一次出现的位置 search()
  在序列中找出一值的连续n次出现的位置 search_n()
    修改性序列操作(27个)
  复制 从序列的第一个元素起进行复制 copy()
  从序列的最后一个元素起进行复制 copy_backward()
  交换 交换两个元素 swap()
  交换指定范围的元素 swap_ranges()
  交换由迭代器所指的两个元素 iter_swap()
  变换 将某操作应用于指定范围的每个元素 transform()
  替换 用一个给定值替换一些值 replace()
  替换满足谓词的一些元素 replace_if()
  复制序列时用一给定值替换元素 replace_copy()
  复制序列时替换满足谓词的元素 replace_copy_if()
  填充 用一给定值取代所有元素 fill()
  用一给定值取代前n个元素 fill_n()
  生成 用一操作的结果取代所有元素 generate()
  用一操作的结果取代前n个元素 generate_n()
  删除 删除具有给定值的元素 remove()
  删除满足谓词的元素 remove_if()
  复制序列时删除具有给定值的元素 remove_copy()
  复制序列时删除满足谓词的元素 remove_copy_if()
  唯一 删除相邻的重复元素 unique()
  复制序列时删除相邻的重复元素 unique_copy()
  反转 反转元素的次序 reverse()
  复制序列时反转元素的次序 reverse_copy()
  环移 循环移动元素 rotate()
  复制序列时循环移动元素 rotate_copy()
  随机 采用均匀分布来随机移动元素 random_shuffle()
  划分 将满足某谓词的元素都放到前面 partition()
  将满足某谓词的元素都放到前面并维持原顺序 stable_partition()
    序列排序及相关操作(27个)
  排序 以很好的平均效率排序 sort()
  排序,并维持相同元素的原有顺序 stable_sort()
  将序列的前一部分排好序 partial_sort()
  复制的同时将序列的前一部分排好序 partial_sort_copy()
  第n个元素 将第n各元素放到它的正确位置 nth_element()
  二分检索 找到大于等于某值的第一次出现 lower_bound()
  找到大于某值的第一次出现 upper_bound()
  找到(在不破坏顺序的前提下)可插入给定值的最大范围 equal_range()
  在有序序列中确定给定元素是否存在 binary_search()
  归并 归并两个有序序列 merge()
  归并两个接续的有序序列 inplace_merge()
  有序结构上的集合操作 一序列为另一序列的子序列时为真 includes()
  构造两个集合的有序并集 set_union()
  构造两个集合的有序交集 set_intersection()
  构造两个集合的有序差集 set_difference()
  构造两个集合的有序对称差集(并-交) set_symmetric_difference()
  堆操作 向堆中加入元素 push_heap()
  从堆中弹出元素 pop_heap()
  从序列构造堆 make_heap()
  给堆排序 sort_heap()
  最大和最小 两个值中较小的 min()
  两个值中较大的 max()
  序列中的最小元素 min_element()
  序列中的最大元素 max_element()
  词典比较 两个序列按字典序的第一个在前 lexicographical_compare()
  排列生成器 按字典序的下一个排列 next_permutation()
  按字典序的前一个排列 prev_permutation()

时间: 2024-10-22 14:51:05

#include<algorithm>里的函数的相关文章

#include&lt;algorithm&gt;

#include<algorithm>里的函数                                    转载▼ #include<algorithm>里的函数 #include<algorithm>   非修改性序列操作(12个)   循环 对序列中的每个元素执行某操作 for_each()   查找 在序列中找出某个值的第一次出现的位置 find()   在序列中找出符合某谓词的第一个元素 find_if()   在序列中找出一子序列的最后一次出现的位置

#include &lt;algorithm&gt; 常用函数

#include <algorithm> 常用函数 accumlate : iterator 对标志的序列中的元素之和,加到一个由 init 指定的初始值上.重载的版本不再做加法,而是传进来的二元操作符被应用到元素上. adjacent_different :创建一个新序列,该序列的每个新值都代表了当前元素与上一个元素的差.重载版本用指定的二元操作计算相邻元素的差. adjacent_find :在 iterator 对标志的元素范围内,查找一对相邻的重复元素,如果找到返回一个 Forward

优先使用map的find函数而非algorithm里的find函数

今天写leetcode的 Two Sum这题一开始使用vector容器,然后使用algorithm里的find函数进行查找,如下: class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> res; for(int i=0;i<nums.size();i++) { int left = target - nums[i]; auto dis

Intel Code Challenge Elimination Round (Div.1 + Div.2, combined)(set容器里count函数以及加强for循环)

题目链接:http://codeforces.com/contest/722/problem/D 1 #include <bits/stdc++.h> 2 #include <iostream> 3 #include <queue> 4 #include <stdio.h> 5 #include <string.h> 6 #include <algorithm> 7 #include <string> 8 #include

《算法竞赛进阶指南》学习总结 #include&lt;algorithm&gt;

今天下午大致学完了进阶指南中algorithm头文件下的内容,在这里进行一个总结.   reverse翻转   顾名思义,reverse进行的操作就是翻转原来的顺序,理解非常简单,故不赘述. 操作样例: #include<bits/stdc++.h> using namespace std; vector<int>a; int b[233]; int main() { int na,nb; //vector的实现 scanf("%d",&na); for

javascript中利用柯里化函数实现bind方法

柯理化函数思想:一个js预先处理的思想:利用函数执行可以形成一个不销毁的作用域的原理,把需要预先处理的内容都储存在这个不销毁的作用域中,并且返回一个小函数,以后我们执行的都是小函数,在小函数中把之前预先存储的值进行相关的操作处理即可: 柯里化函数主要起到预处理的作用: bind方法的作用:把传递进来的callback回调方法中的this预先处理为上下文context; /** * bind方法实现原理1 * @param callback [Function] 回调函数 * @param con

浅谈JavaScript中的柯里化函数

首先,不可避免的要引经据典啦,什么是柯里化函数呢(from baidu): 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的. 用于创建已经设置好了一个或多个参数的函数 与函数绑定相似,他们之间的区

Swift # 柯里化函数

前言 此次文章,讲述的是Swift的一个新特性(柯里化函数),可能很多iOS开发人员是第一次听这个词汇,包括我自己也是,自己也用了几天时间才总结出来,希望能帮助到各位咯,个人感觉偏向有开发经验的码友,如果零基础的看懂,希望能给个赞,??! 如果喜欢我的文章,可以关注我,随着后续不断学习Swift中,陆续还会有更新ing.... 什么是柯里化函数? 柯里化(Currying),又称部分求值(Partial Evaluation),是一种函数式编程思想,就是把接受多个参数的函数转换成接收一个单一参数

JavaScript的柯里化函数

柯里化,或者说部分应用,是一种函数式编程的技术,对于熟悉以传统方式编写 JavaScript 代码的人来说可能会很费解.但如果使用得当,它可以使你的 JavaScript 函数更具可读性. 更具可读性和灵活性 函数式 JavaScript 被吹捧的优点之一就是拥有短小紧凑的代码风格,可以用最少行数.更少重复的代码得到正确的结果.有时这会以牺牲可读性为代价:如果你还不熟悉函数式编程的方法,这种方法写的代码会很难阅读和理解. 如果之前你遇到过柯里化这个术语,但是不知道它是什么意思,把它当做奇怪的.难