zoukankan      html  css  js  c++  java
  • C++之STL算法

    一、算法

      算法是以函数模板的形式实现的。常用的算法涉及到比较、交换、查找、搜索、复制、修改、移除、反转、排序、合并等等。

      算法并非容器类型的成员函数,而是一些全局函数,要与迭代器一起搭配使用。

      算法的优势在于只需实作一份,可以适应所有的容器,不必为每一种容器量订制。也可以与用户定义的容器搭配。

      算法尾词:

      _if

        比如find(按某个值来查找),find_if(按某个条件来查找)

      _copy

        这个尾词用来表示在算法中,元素不光被操作,还会被复制到目标区间。比如reverse、reverse_copy

    二、算法分类

      1、非变动性算法既不改变元素次序,也不改变元素值。

        

        2、变动性算法,要么直接改变元素值,要么就是在复制到另一个区间的过程中改变元素值。如果是第二种情况,原区间不会发生变化

        

       3、移除性算法是一种特殊的变动性算法。移除性算法是在一区间内移除某些元素,这些算法并不能改变元素的数量,它们只是以逻辑上的思考,将原本置于后面的“不需要移除元素”向前移动,覆盖那些被移除元素而已。它们都返回新区间的逻辑终点。移除性算法也可以在复制的过程中执行移除。注意,目标区间不能是关联式容器。

        

       4、变序性算法改变元素次序,但不改变元素值。这些算法不能用于关联式容器,因为关联式容器中,元素有固定的次序。

        

       5、排序算法,排序算法是一种特殊的变序算法。但比一般的变序性算法更复杂,花费更多的时间

         

       6、已序区间算法,一般来说这些算法的结果,仍然是已序的。

        

       7、用来处理数值的算法,需要加上头文件 #include<numeric>

        

    本文来自博客园,作者:Mr-xxx,转载请注明原文链接:https://www.cnblogs.com/MrLiuZF/p/13338692.html

  • 相关阅读:
    SpringCloud项目中使用Nacos作为配置中心
    SpringCloud项目中使用Nacos作为注册中心
    idea创建maven多模块Spring Boot项目
    Java代码中对IP进行白名单验证
    idea配置jdk
    win10配置jdk1.8环境变量
    shell 提示符样式设置
    整数转换成中文读法的字符串
    比较三段式软件版本号大小
    Windows7安装 nginx+php 后访问.php文件出现 “No input file specified.” 的解决办法
  • 原文地址:https://www.cnblogs.com/MrLiuZF/p/13338692.html
Copyright © 2011-2022 走看看