变异算法就是会让施加的容器中的元素发生变化
1.copy
代码示例:
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
//寻找两个整型数组中元素不相等时候的元素值
int main()
{
int a[] = {1,2,3,4,5};
int b[5];
vector<int> v;
//将a复制给b
copy(a, a + 5, b);
for (int i = 0; i < 5; i++)
{
cout << b[i] << endl;
}
cout << "-----------------" << endl;
//将a复制给vector<int>对象v
//copy(a,a+5,v); 报错
//报错原因:copy有以下使用注意点
//1.区间左闭右开
//2.如果不是STL的标准容器,那么目标容器的容量大于或等于原容器的容量
copy(a,a+5,back_inserter(v));
for (int i = 0; i < 5; i++)
{
cout << v[i] << endl;
}
}
2.swap
可以用于基本类、数组、基本序列容器