zoukankan      html  css  js  c++  java
  • 泛型算法结构

    前言

      C++提供了很多算法(超过一百个),要想掌握这些算法的使用需要将它们都死记下来吗?当然不用了,本文将为你剖析泛型算法的基本结构,让你以后对这些算法做到“ 望名生义 ”。

    算法的形参结构

      绝大多数算法的形参采用以下四种形式之一:

      1. 算法名 ( 起始迭代器, 末端迭代器, 其他参数 )

      说明:起始迭代器和末端迭代器标识了算法的输入范围,其他参数与算法特性有关。

      2. 算法名 ( 起始迭代器, 末端迭代器, 插入迭代器/流迭代器, 其他参数 )

      说明:起始迭代器和末端迭代器标识了算法的输入范围,插入迭代器/流迭代器标识了输出对象(其范围假定和输入范围一样大),其他参数与算法特性有关。

      3. 算法名 ( 起始迭代器1, 末端迭代器1, 起始迭代器2, 其他参数 )

      说明:起始迭代器1和末端迭代器1标识了算法的输入范围1,起始迭代器2标识了算法的输入范围2(其范围假定和输入范围一样大),其他参数与算法特性有关。

      4. 算法名 ( 起始迭代器1, 末端迭代器1, 起始迭代器2, 末端迭代器2, 其他参数 )

      说明:起始迭代器1和末端迭代器1标识了算法的输入范围1,起始迭代器2和末端迭代器2标识了算法的输入范围2,其他参数与算法特性有关。

    算法的命名结构

      1. 算法名带_if后缀:表示该算法需要使用谓词函数(相较于无_if版本)。

      2. 算法名带_copy后缀:表示该算法会将结果输出到别的位置,而不会破坏输入范围内的数据(相较于无_copy版本)。

  • 相关阅读:
    从gettext来看linux下程序的internationalization
    C++ Convert Operator和其他Operator的应用场景比较
    申明一个函数指针,并且该函数的返回值也是一个函数指针 示例代码
    XML操作大全
    如何让页面延迟显示?
    Ajax实现不刷屏的前提下实现页面定时刷新
    我喜欢的笑话 呵呵
    Atlas UpdatePanel使用技巧以及常见问题
    asp.net 弹出窗体
    C# asp.net操作文件
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3228918.html
Copyright © 2011-2022 走看看