C++ STL算法有两个特点：

sort
copy
find
random_shuffle
set_union
set_intersection
set_difference
transform

STL 将算法库分为4组：
a. 非修改式序列操作

b. 修改式序列操作

c. 排序和相关操作

d. 通用数字运算

# 2. STL 泛型算法

## 2.1 copy

template <class InputIterator, class OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result);


template<class InputIterator, class OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result)
{
while (first!=last) {
*result = *first;
++result; ++first;
}
return result;
}

// copy algorithm example
#include <iostream>     // std::cout
#include <algorithm>    // std::copy
#include <vector>       // std::vector

int main () {
int myints[]={10,20,30,40,50,60,70};
std::vector<int> myvector (7);

std::copy ( myints, myints+7, myvector.begin() );

std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' ' << *it;

std::cout << '\n';

return 0;
}


# 3. STL 容器的成员算法

STL 泛型算法也有一个remove 函数模板，该模板并不会改变链表长度（参考相关资料）

01-03 867
07-28 2万+
10-27 4439
10-26 1595
11-14
05-05 470
03-17 250
08-30 778
05-01 4269
03-13 2795
04-23 3299
05-14 1697
12-05 1613