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); //擴大空間
copy(vecinta.begin(), vecinta.end(), vecintb.begin()); //vecintb:
replace(beg,end,oldvalue,newvalue): 將指定範圍內的所有等於oldvalue的元素替換成newvalue。
vector
vecinta;
vecinta.push_back(1);
vecinta.push_back(3);
vecinta.push_back(5);
vecinta.push_back(3);
vecinta.push_back(9);
replace(vecinta.begin(), vecinta.end(), 3, 8); //
replace_if : 將指定範圍內所有操作結果為true的元素用新值替換。
用法舉例:
replace_if(vecinta.begin(),vecinta.end(),greaterthree,newval)
其中vecinta是用vector宣告的容器
greaterthree 函式的原型是 bool greaterthree(int inum)
//把大於等於3的元素替換成8
vector
vecinta;
vecinta.push_back(1);
vecinta.push_back(3);
vecinta.push_back(5);
vecinta.push_back(3);
vecinta.push_back(9);
replace_if(vecinta.begin(), vecinta.end(), greaterthree, 8); // greaterthree的定義在上面。
swap: 交換兩個容器的元素
vector
vecinta;
vecinta.push_back(1);
vecinta.push_back(3);
vecinta.push_back(5);
vector
vecintb;
vecintb.push_back(2);
vecintb.push_back(4);
swap(vecinta, vecintb); //交換
void main52_copy()
bool great_equal_5(int &n)
return
false;
}void main53_replace_replaceif()
void main54_swap()
常用的拷貝和替換演算法
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演算法4 拷貝和替換
define crt secure no warnings include include include include include include include include 輸出流 using namespace std template void printelem t t cout...