18.4 常用拷贝和替换算法
学习目标:
掌握常用的拷贝和替换算法
算法简介:
copy// 容器内指定范围的元素拷贝到另一容器中replace// 将容器内指定范围的旧元素修改为新元素replace_if// 容器内指定范围满足条件的元素替换为新元素swap// 互换两个容器的元素
1 copy
功能描述:
容器内指定范围的元素拷贝到另一容器中
函数原型:
copy(iterator beg, iterator end, iterator dest);// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置
// beg 开始迭代器
// end 结束迭代器
// dest 目标起始迭代器
示例:
总结:利用copy算法在拷贝时,目标容器记得提前开辟空间
2 replace
功能描述:
将容器内指定范围的旧元素修改为新元素
函数原型:
replace(iterator beg, iterator end, oldvalue, newvalue);// 将区间内旧元素 替换成 新元素
// beg 开始迭代器
// end 结束迭代器
// oldvalue 旧元素
// newvalue 新元素
示例:
总结:replace会替换区间内满足条件的元素
3 replace_if
功能描述:
将区间内满足条件的元素,替换成指定元素
函数原型:
replace_if(iterator beg, iterator end, _pred, newvalue);// 按条件替换元素,满足条件的替换成指定元素
// beg 开始迭代器
// end 结束迭代器
// _pred 谓词
// newvalue 替换的新元素
示例:
总结:replace_if按条件查找,可以利用仿函数灵活筛选满足的条件
4 swap
功能描述:
互换两个容器的元素
函数原型:
swap(container c1, container c2);// 互换两个容器的元素
// c1容器1
// c2容器2
示例:
总结:swap交换容器时,注意交换的容器要同种类型
最后更新于