变易算法
变易算法是指那些改变容器中对象的操作。具体包括:
copy
template<class _InIt, class _OutIt> inline
_OutIt copy(_InIt _First, _InIt _Last, _OutIt _Desc)
// 将对象从 [_First, _Last) 拷贝至 [), 其中:_DestLast = _Dest+(_Last - _First).此算法是按照顺序拷贝的: _First, _First+1,..., _Last -1
// copy 可以实现将容器中的对象左移。
swap
template<class _Ty> inline
void swap(_Ty& _Left, _Ty& _Right)
// 交换对象 _Left 和 _Right
transform
template<class _InIt, class _OutIt, class _Fn1> inline
_OutIt transform(_InIt _First, _InIt _Last, _OutIt _Desc, _Fn1 _Func)
// 对于 [_First1,_Last)中每个 it,应用 _Func(*it), 并且将执行结果放入_Dest指定的区间,即: *(_Desc+i) = _Func(*(_First+i)), 其中 0 ≤ i < _Last1 - _First1
replace
template<class _FwdIt, class _Ty> inline
void replace(_FwdIt _First, _FwdIt _Last, const _Ty& _Oldval, const _Ty& _Newval)
// 对于区间 [_First, _Last)中每个迭代器it,如果满足 : *it == _Oldval, 则执行: *it = _Newval
fill
template<class _FwdIt,