五 STL算法概述

来源:互联网 发布:软件助手 编辑:程序博客网 时间:2024/05/17 06:18

一 概述:

(1)算法的一般形式:

*所有泛型算法的前两个参数都是一对迭代器,通常称为first和last,用以标示算法的操作区间。

*这个[first,last)区间的必要条件是,first必须能够经由累加(increment)操作符的反复运用,从first到达list。

*任何一个STL算法的声明都,都表现出它所需要的最低程度的迭代器类型。

*许多的STL算法不只支持一个版本,某个版本采用缺省运算行为,另外一个版本提供一个额外参数,接受外界传入的一个函数对象,以便采取其他策略。


(2)头文件(<numeric>和<algorithm>)

*所有数值算法都实际定义于<stl_numeric.h>文件中,这个文件是内部文件,STL用户使用时需#include<numeric>。

*<algorithm>文件内容如下:

#include <bits/stl_algobase.h>

#include <bits/stl_algo.h>

#include <bits/stl_construct.h>

#include <bits/stl_uninitialized.h>

其中SGI STL把一些常用的算法定义于<stl_algobase.h>,其它算法定义于<stl_algo.h>中。


二 具体算法综述: