#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
#include
#include
#include //輸出流
using
namespace
std;
template
void printelem(t &t)
cout}*/
copy(vecinta.begin(), vecinta.end(), vecintb.begin()); //vecintb:
printelem(vecintb);
}//將指定範圍內的所有等於oldvalue的元素替換成newvalue。
void main092_replace()
*/replace(vecinta.begin(), vecinta.end(), 3, 8); //
printelem(vecinta);
}bool greatthree(int &num)
//將指定範圍內所有操作結果為true的元素用新值替換。
void main093_replace_if()
void _replace_if(_fwdit _first, _fwdit _last, _pr _pred, const _ty& _val)
*/replace_if(vecinta.begin(), vecinta.end(), greatthree, 8); // greaterthree的定義在上面
printelem(vecinta);
} //交換兩個容器的元素
void main094_swap()
*/swap(vecinta, vecintb); //交換 全部交換,大小不限制
printelem(vecinta);
printelem(vecintb);
}int main()
STL之拷貝和替換演算法
vector vecinta vecinta.push back 1 vecinta.push back 3 vecinta.push back 5 vecinta.push back 7 vecinta.push back 9 vector vecintb vecintb.resize 5 擴大空...
STL學習3常用演算法3 6常用拷貝替換演算法
1 copy複製 1.1 將容器中指定範圍的元素拷貝到另一容器中 1.2 目標容器要有容量 2 replace按值替換 2.1 將區間內指定的舊元素替換為新元素 3 replace if 按條件替換 3.1 將區間中符合條件的舊元素替換為新元素 4 swap 交換 4.1 交換兩個容器中的所有元素 ...
常用的拷貝和替換演算法
copy 複製 vectorvecinta vecinta.push back 1 vecinta.push back 3 vecinta.push back 5 vecinta.push back 7 vecinta.push back 9 vectorvecintb vecintb.resize...