八、算法和容器中存在的功能相同的函数:

8.1、array:
  8.1.1、fill。

    1、在array中:void fill (const value_type& val);

    2、在algorithm中:
        template <class ForwardIterator, class T>
        void fill (ForwardIterator first, ForwardIterator last, const T& val);
  8.1.2、swap。

    1、在array中:

      void swap (array& x);

    2、在algorithm中:

      template <class T> void swap (T& a, T& b);

  8.2、vector:

    8.2.1、swap。

      1、在vector中:
        void swap (vector& x);

      2、在algorithm中:
        template <class T> void swap (T& a, T& b);

  8.3、list:

    8.3.1、swap。

      1、在list中:
        void swap (list& x);

      2、在algorithm中:
        template <class T> void swap (T& a, T& b);

    8.3.2、remove。

      1、在list中:
        void remove (const value_type& val);

      2、在algorithm中:
        template <class ForwardIterator, class T>
        ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val);

    8.3.3、remove_if。

      1、在list中:
        template <class Predicate>
        void remove_if (Predicate pred);

      2、在algorithm中:
        template <class ForwardIterator, class UnaryPredicate>
        ForwardIterator remove_if (ForwardIterator first, ForwardIterator last,
        UnaryPredicate pred);

    8.3.4、unique

      1、在list中:
        (1)void unique();

        (2)template <class BinaryPredicate>
        void unique (BinaryPredicate binary_pred);

      2、在algorithm中:
        (1)template <class ForwardIterator>
          ForwardIterator unique (ForwardIterator first, ForwardIterator last);

        (2)template <class ForwardIterator, class BinaryPredicate>
          ForwardIterator unique (ForwardIterator first, ForwardIterator last,
                      BinaryPredicate pred);

    8.3.5、merge。

      1、在list中:
        (1)void merge (list& x);

        (2)template <class Compare>
          void merge (list& x, Compare comp);

      2、在algorithm中:
        (1)template <class InputIterator1, class InputIterator2, class OutputIterator>
          OutputIterator merge (InputIterator1 first1, InputIterator1 last1,
                      InputIterator2 first2, InputIterator2 last2,
                      OutputIterator result);

        (2)template <class InputIterator1, class InputIterator2,
          class OutputIterator, class Compare>
          OutputIterator merge (InputIterator1 first1, InputIterator1 last1,
                      InputIterator2 first2, InputIterator2 last2,
                      OutputIterator result, Compare comp);

    8.3.6、sort。

      1、在list中:
        (1)void sort();

        (2)template <class Compare>
          void sort (Compare comp);

      2、在algorithm中:
        (1)template <class RandomAccessIterator>
        void sort (RandomAccessIterator first, RandomAccessIterator last);

        (2)template <class RandomAccessIterator, class Compare>
        void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

    8.3.7、reverse。

      1、在list中:
        void reverse();

      2、在algorithm中:
        template <class BidirectionalIterator>
        void reverse (BidirectionalIterator first, BidirectionalIterator last);

  8.4、forward_list:

    8.4.1、swap。

      1、在forward_list中:
        void swap (forward_list& x);

      2、在algorithm中:
        template <class T> void swap (T& a, T& b);

  8.5、deque:

    8.5.1、swap。

      1、在deque中:
        void swap (deque& x);

      2、在algorithm中:
        template <class T> void swap (T& a, T& b);

  8.6、set和map中是一样的:

    8.6.1、swap。

      1、在set中:
        void swap (set& x);

      2、在algorithm中:
        template <class T> void swap (T& a, T& b);

    8.6.2、find。

      1、在set中:
        iterator find (const value_type& val) const;

      2、在algorithm中:
        template <class InputIterator, class T>
        InputIterator find (InputIterator first, InputIterator last, const T& val);

    8.6.3、count。

      1、在set中:
        size_type count (const value_type& val) const;

      2、在algorithm中:
        template <class InputIterator, class T>
        typename iterator_traits<InputIterator>::difference_type
        count (InputIterator first, InputIterator last, const T& val);

    8.6.4、lower_bound。

      1、在set中:
        iterator lower_bound (const value_type& val) const;

      2、在algorithm中:
        (1)template <class ForwardIterator, class T>
          ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
                          const T& val);

        (2)template <class ForwardIterator, class T, class Compare>
          ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
          const T& val, Compare comp);

    8.6.5、upper_bound。

      1、在set中:
        iterator upper_bound (const value_type& val) const;

      2、在algorithm中:
        (1)template <class ForwardIterator, class T>
          ForwardIterator upper_bound (ForwardIterator first, ForwardIterator last,
          const T& val);

        (2)template <class ForwardIterator, class T, class Compare>
          ForwardIterator upper_bound (ForwardIterator first, ForwardIterator last,
          const T& val, Compare comp);

    8.6.6、equal_range。

      1、在set中:
        pair<iterator,iterator> 
        equal_range (const value_type& val) const;

      2、在algorithm中:
        (1)template <class ForwardIterator, class T>
          pair<ForwardIterator,ForwardIterator>
          equal_range (ForwardIterator first, ForwardIterator last, const T& val);

        (2)template <class ForwardIterator, class T, class Compare>
          pair<ForwardIterator,ForwardIterator>
          equal_range (ForwardIterator first, ForwardIterator last, const T& val,
                  Compare comp);

stl_container容器和std_algorithm算法相同的函数的更多相关文章

  1. C++ Primer 学习笔记_46_STL实践与分析(20)--容器特有的算法

    STL实践与分析 --容器特有的算法 与其它顺序容器所支持的操作相比,标准库为list容器定义了更精细的操作集合,使它不必仅仅依赖于泛型操作.当中非常大的一个原因就是list容器不是依照内存中的顺序进 ...

  2. Java实现 蓝桥杯VIP 算法训练 sign函数

    试题 算法训练 sign函数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定实数x,输出sign(x)的值. sign(x)是符号函数,如果x>0,则返回1:如果x=0, ...

  3. Java实现蓝桥杯VIP算法训练 二元函数

    试题 算法训练 二元函数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 令二元函数f(x,y)=ax+by,a和b为整数,求一个表达式S的值. 只有满足以下要求的表达式才是合法的: ...

  4. C++的那些事:容器和泛型算法

    一.顺序容器 1,标准库定义了3种类型的顺序容器:vector.list和deque.它们的差别主要在于访问元素的方式,以及添加或删除元素相关操作运算代价.标准库还提供了三种容器适配器:stack.q ...

  5. C++ STL算法系列6---copy函数

    现在我们来看看变易算法.所谓变易算法(Mutating algorithms)就是一组能够修改容器元素数据的模板函数,可进行序列数据的复制,变换等. 我们现在来看看第一个变易算法:元素复制算法copy ...

  6. STL容器及泛型算法

    一.顺序容器 1.容器的选择 (1) 随机访问,选vector ,deque (2) 在中间插入或者删除元素,选list (3) 在头尾插入或删除元素 , 选deque 2.list的成员函数 (1) ...

  7. C++(五十一) — 容器中常见算法(查找、排序、拷贝替换)

    1.find(); find()算法的作用是在指定的一段序列中查找某个数,包含三个参数,前两个参数是表示元素范围的迭代器,第三个参数是要查找的值. 例:fing(vec.begin(), vec.en ...

  8. KMP算法中next函数的理解

    首先要感谢http://blog.csdn.net/v_july_v/article/details/7041827以及http://blog.chinaunix.net/uid-27164517-i ...

  9. C++ STL算法系列1---count函数

    一.count函数 algorithm头文件定义了一个count的函数,其功能类似于find.这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果. 编写程序读取一系列int型数据,并将 ...

随机推荐

  1. 文件上传组件FileUpload 以及邮箱搭建JavaMail

     文件上传与下载 1.1 文件上传 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 文件上传,要点: 前台: 1 ...

  2. (27)IO流小结

    字节流 输入字节流: ---------| InputStream 所有输入字节流的基类. 抽象类 ------------| FileInputStream 读取文件的输入字节流 --------- ...

  3. windows phone 8.1开发 onedrive操作详解

    原文出自:http://www.bcmeng.com/onedrive/ 小梦今天给大家分享一下windows phone 8.1开发 onedrive中的一些操作: Windows phone 8. ...

  4. Java程序中与MongoDB建立连接~小记

    1.Mongo和MongoClient的关系 MongoClient继承自Mongo,使用Mongo也可建立连接,但是需要使用与Mongo适应的MongoOptions,MongoURI等类型. 2. ...

  5. netsh导入导出IPSec配置策略

    首先提一句: ipsec规则中,filter action为允许的比拒绝的优先级要高,其它的没有顺序关系,经测试验证! 参考:http://tech.techweb.com.cn/thread-354 ...

  6. linux下的权限控制

    终于还是要弄服务器了,这是多年前用fedora的时候整理的,也贴出来,顺便也再复习一下. 先来了解一下文件属性,在shell环境里输入:ls -l 可以查看当前目录文件.如:drwxr-xr-x. 1 ...

  7. RBAC打造通用WEB权限

    RBAC不用给用户单个分配权限,只用指向对应的角色就会有对应的权限,而且分配权限和收回权限都很方便 5个关系对应5张表 五张表设计 CREATE TABLE `user` ( `id` ) unsig ...

  8. 老李分享: Oracle Performance Tuning Overview 翻译下

    1.2性能调优特性和工具 Effective data collection and analysis isessential for identifying and correcting perfo ...

  9. Android中那些有你不知道的事

    在安卓开发中,总有那么一些看似简单,实则绊脚的难题,等你去探索,等你去解决,也许你已经遇见了解决了,也许你还没碰上,写下这篇总结,希望能帮助那行即将遇到的朋友,快速解决这些小问题! 一.activit ...

  10. 玩转 SSH 目录

    在做一个新的项目的时候,需要重新搭建一个项目. 于是趁着这个机会把之前学的几个框架的搭建都写一写,整理一下,同时也可以给大家一些参考.何乐而不为叻. 在这个系列中, 我将使用 IntelJ IDEA ...