copy:
vectorvecints;
vecints.push_back(1);
vecints.push_back(3);
vecints.push_back(5);
vecints.push_back(7);
vecints.push_back(9);
vectorvecintb;
vecintb.resize(5); //擴大空間
copy(vecints.begin(),vecints.end(), vecintb.begin());
//此時vecintb:
replace:
replace(beg,end,oldvalue,newvalue): 將指定範圍內的所有等於 oldvalue 的元素替 換成 newvalue。
vectorvecints;
vecints.push_back(1);
vecints.push_back(3);
vecints.push_back(5);
vecints.push_back(3);
vecints.push_back(9);
replace(vecints.begin(),vecints.end(), 3, 8); //
replace_if:
replace_if : 將指定範圍內所有操作結果為 true 的元素用新值替換。 舉個例: replace_if(vecintsb.begin(),vecintsb.end(),greaterthree,newval) 其中vecintsb是用 vector宣告的容器 greaterthree 函式的原型是 bool greaterthree(int inum)
如下:
bool greaterthree(int inum)
else
}//把大於等於 3 的元素替換成 8
vectorvecintsb;
vecintsb.push_back(1);
vecintsb.push_back(3);
vecintsb.push_back(5);
vecintsb.push_back(3);
vecintsb.push_back(9);
replace_if(vecintsb.begin(),vecintsb.end(),greaterthree,8);
swap:
swap: 交換兩個容器的元素
vectorvecints;
vecints.push_back(1);
vecints.push_back(3);
vecints.push_back(5);
vecints.push_back(15);
vectorvecintb;
vecintb.push_back(2);
vecintb.push_back(4);
vecintb.push_back(45);
vecintb.push_back(54);
swap(vecints, vecintb); //交換
常用的拷貝和替換演算法
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...
STL學習3常用演算法3 6常用拷貝替換演算法
1 copy複製 1.1 將容器中指定範圍的元素拷貝到另一容器中 1.2 目標容器要有容量 2 replace按值替換 2.1 將區間內指定的舊元素替換為新元素 3 replace if 按條件替換 3.1 將區間中符合條件的舊元素替換為新元素 4 swap 交換 4.1 交換兩個容器中的所有元素 ...
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 擴大空...