Copy:
vector<int> vecInts;
vecInts.push_back(1);
vecInts.push_back(3);
vecInts.push_back(5);
vecInts.push_back(7);
vecInts.push_back(9);
vector<int> vecIntb;
vecIntb.resize(5); //扩大空间
copy(vecInts.begin(),vecInts.end(), vecIntb.begin());
//此时vecIntb: {1,3,5,7,9}
replace:
replace(beg,end,oldValue,newValue): 将指定范围内的所有等于 oldValue 的元素替 换成 newValue。
vector<int> vecInts;
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); //{1,8,5,8,9}
replace_if:
replace_if : 将指定范围内所有操作结果为 true 的元素用新值替换。 举个例: replace_if(vecIntsb.begin(),vecIntsb.end(),GreaterThree,newVal) 其中vecIntsb是用 vector<int>声明的容器 GreaterThree 函数的原型是 bool GreaterThree(int iNum)
如下:
bool GreaterThree(int iNum)
{
if(iNum>=3)
{
return true;
}
else
{
return false;
}
}
//把大于等于 3 的元素替换成 8
vector<int> vecIntsb;
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: 交换两个容器的元素
vector<int> vecInts;
vecInts.push_back(1);
vecInts.push_back(3);
vecInts.push_back(5);
vecInts.push_back(15);
vector<int> vecIntb;
vecIntb.push_back(2);
vecIntb.push_back(4);
vecIntb.push_back(45);
vecIntb.push_back(54);
swap(vecInts, vecIntb); //交换