浅谈头文件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()

以上这篇浅谈头文件algorithm中的常用函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 浅谈头文件algorithm中的常用函数

    一.非修改性序列操作(12个) 循环         对序列中的每个元素执行某操作         for_each() 查找         在序列中找出某个值的第一次出现的位置         find() 在序列中找出符合某谓词的第一个元素     find_if() 在序列中找出一子序列的最后一次出现的位置         find_end() 在序列中找出第一次出现指定值集中之值的位置     find_first_of() 在序列中找出相邻的一对值         adjacent_

  • 简单谈谈C++ 头文件系列之(algorithm)

    简介 algorithm头文件是C++的标准算法库,它主要应用在容器上. 因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低耦合性. 因此,任何数据结构都能使用这套算法库,只要它具有相应的迭代器类型. 算法类别 如上图所示,库中的算法主要分为4类: 非修改性顺序操作(Non-modifying sequence operations) 可变顺序操作(Mutating sequence operations) 排序和关系操作(Sorting

  • C++头文件algorithm中的函数功能详解

    目录 1. 不修改内容的序列操作 (1)all_of (2)any_of (3)none_of (6)find_if (7)find_if_not (8)find_end (10)adjacent_find (12)count_if (15)is_permutation (16)search 2. 修改内容的序列操作 (1)copy (2)copy_n (3)copy_if (4)copy_backward (5)move (6)move_backward (7)swap (8)swap_ran

  • 浅谈webpack构建工具配置和常用插件总结

    webpack构建工具已经火了好几年,也是当下狠火狠方便的构建工具,我们没有理由不去学习.既然选择webpack就要跟着时代走,我们要追随大牛的步伐,大牛等等我. 一.webpack基础 在根目录使用npm init 命令创建package.json,创建过程中一路回车. 本地安装webpack命令:npm install webpack webpack-cli --save-dev 安装成功后写入package.js的devDependencies中,可以通过 npm node_modules

  • 浅谈web服务器项目中request请求和response的相关响应处理

    我们经常使用别人的服务器进行构建网站,现在我们就自己来写一个自己的服务来使用. 准备工作:下载所需的题材及文档 注:完整项目下载 一.request请求获取  1.了解request请求 在写服务器之前,我们需要知道客户端发送给我们哪些信息?以及要求我们返回哪些信息?经过测试我们能够知道用户客户端发送的信息有以下几点: 客户端发送到服务器端的请求消息,我们称之为请求(request),其实就是一个按照http协议的规则拼接而成的字符串,Request请求消息包含三部分: 请求行 消息报头 请求正

  • 浅谈JVM垃圾回收有哪些常用算法

    一.前言: 垃圾回收: 在未来的JDK中可能G1会为ZGC所取代 先问自己几个问题: 什么是垃圾? 垃圾就是堆内存中(范指)没有任何指针指向的对象实体.不具有可达性. 为什么要回收垃圾? 因为我们的内存是有限的,内存长时间不清理就会导致内存溢出,OOM: 只要是程序正在跑,那么就不断生成新的对象,我们需要GC开辟新的空间分配给新的对象. 我们怎么回收垃圾? 依靠Java的自动内存回收机制,机制的优劣由算法决定: 或者说是机制的适配度由算法和应用场景共同决定. 什么时候回收垃圾? 当堆中的实体对象

  • 浅谈Spark RDD API中的Map和Reduce

    RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD.从编程的角度来看,RDD可以简单看成是一个数组.和普通数组的区别是,RDD中的数据是分区存储的,这样不同分区的数据就可以分布在不同的机器上,同时可以被并行处理.因此,Spark应用程序所做的无非是把需要处理的数据转换为RDD,然后对RDD进行一系列的变换和操作从而得到结果.本文为第一部分,将介绍Spark RDD中与Map和Reduce相关的API中. 如何创建RDD? RDD可以从普通数组创建出来,

  • 浅谈在JAVA项目中LOG4J的使用

    一.直接使用: //输出到项目文件夹下output1.txt文件中 ////////////////////////////// // DEBUG - Here is some DEBUG // INFO - Here is some INFO // WARN - Here is some WARN // ERROR - Here is some ERROR // FATAL - Here is some FATAL ////////////////////////////// package

  • 浅谈js文件引用方式及其同步执行与异步执行

    任何以appendChild(scriptNode) 的方式引入的js文件都是异步执行的 (scriptNode 需要插入document中,只创建节点和设置 src 是不会加载 js 文件的,这跟 img 的与加载不同 ) html文件中的<script>标签中的代码或src引用的js文件中的代码是同步加载和执行的 html文件中的<script>标签中的代码使用document.write()方式引入的js文件是异步执行的 html文件中的<script>标签src

  • 浅谈django开发者模式中的autoreload是如何实现的

    在开发django应用的过程中,使用开发者模式启动服务是特别方便的一件事,只需要 python manage.py runserver 就可以运行服务,并且提供了非常人性化的autoreload机制,不需要手动重启程序就可以修改代码并看到反馈.刚接触的时候觉得这个功能比较人性化,也没觉得是什么特别高大上的技术.后来有空就想着如果是我来实现这个autoreload会怎么做,想了很久没想明白,总有些地方理不清楚,看来第一反应真是眼高手低了.于是就专门花了一些时间研究了django是怎样实现autor

  • 浅谈MySQL模糊查询中通配符的转义

    sql中经常用like进行模糊查询,而模糊查询就要用到百分号"%",下划线"_"这些通配符,其中"%"匹配任意多个字符,"_"匹配单个字符.如果我们想要模糊查询带有通配符的字符串,如"60%","user_name",就需要对通配符进行转义,有两种方式.如下:   1.反斜杠是转义符,通过反斜杠来转义%,使其不再是通配符.这里第一个%是通配符,第二个%不是通配符. select perc

随机推荐