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(5); //擴大空間
copy(vecinta.begin(), vecinta.end(), vecintb.begin()); //vecintb:
replace()
vectorvecinta;
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()
用法舉例:
replace_if(vecinta.begin(),vecinta.end(),greaterthree,newval)
其中 vecinta是用vector宣告的容器
greaterthree 函式的原型是 bool greaterthree(int inum)
//把大於等於3的元素替換成8
vectorvecinta;
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()
vectorvecinta;
vecinta.push_back(1);
vecinta.push_back(3);
vecinta.push_back(5);
vectorvecintb;
vecintb.push_back(2);
vecintb.push_back(4);
swap(vecinta, vecintb); //交換
#include using namespace std;
#include "string"
#include #include #include "set"
#include #include "functional"
#include "iterator" //輸出流迭代器的標頭檔案
void printv(vector&v)
//一元謂詞
bool great_equal_5(int &n)
return false;
}//替換
void replace()
//交換
void swap()
void main()
常用的拷貝與替換演算法
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 ...
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 擴大空...
90 C 常用拷貝和替換演算法 replace
2.replace 功能描述 將容器內指定範圍的舊元素改為新元素 函式原型 replace iterator beg,iterator end,oldvalue,newvalue 將區間內舊元素 替換成 新元素 beg開始迭代器 end結束迭代器 oldvalue 舊元素 newvalue 新元素 ...