41STL之拷贝和替换算法
来源:互联网 发布:工业造型设计书籍知乎 编辑:程序博客网 时间:2024/06/10 16:54
STL之拷贝和替换算法
- STL之拷贝和替换算法
- copy
- replace
- replace_if
- swap
- 综合代码
1.copy()
vector<int> vecIntA;vecIntA.push_back(1);vecIntA.push_back(3);vecIntA.push_back(5);vecIntA.push_back(7);vecIntA.push_back(9);vector<int> vecIntB;vecIntB.resize(5); //扩大空间copy(vecIntA.begin(), vecIntA.end(), vecIntB.begin()); //vecIntB: {1,3,5,7,9}
2.replace()
replace(beg,end,oldValue,newValue): 将指定范围内的所有等于oldValue的元素替换成newValue。
vector<int> 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); //{1,8,5,8,9}
3.replace_if()
replace_if : 将指定范围内所有操作结果为true的元素用新值替换。
用法举例:
replace_if(vecIntA.begin(),vecIntA.end(),GreaterThree,newVal)
其中vecIntA是用vector声明的容器
GreaterThree 函数的原型是 bool GreaterThree(int iNum)
//把大于等于3的元素替换成8vector<int> 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的定义在上面。
4.swap()
swap: 交换两个容器的元素
vector<int> vecIntA;vecIntA.push_back(1);vecIntA.push_back(3);vecIntA.push_back(5);vector<int> vecIntB;vecIntB.push_back(2);vecIntB.push_back(4);swap(vecIntA, vecIntB); //交换
5.综合代码
void main52_copy(){ vector<int> v1; v1.push_back(1); v1.push_back(3); v1.push_back(5); v1.push_back(7); vector<int> v2; v2.resize(v1.size() ); copy(v1.begin(), v1.end(), v2.begin()); printV(v2);}bool great_equal_5(int &n){ if (n>=5) { return true; } return false;}void main53_replace_replaceif(){ vector<int> v1; v1.push_back(1); v1.push_back(3); v1.push_back(5); v1.push_back(7); v1.push_back(3); replace(v1.begin(), v1.end(), 3, 8); // >=5 replace_if(v1.begin(), v1.end(), great_equal_5, 1); printV(v1);}void main54_swap(){ vector<int> v1; v1.push_back(1); v1.push_back(3); v1.push_back(5); vector<int> v2; v2.push_back(2); v2.push_back(4); v2.push_back(6); swap(v1, v2); printV(v1);}
阅读全文
0 0
- 41STL之拷贝和替换算法
- STL之拷贝和替换算法
- stl常用算法_拷贝和替换相关
- 常用STL算法4_拷贝和替换
- STL算法---拷贝/删除/替换算法
- STL算法(Algorithms):修改操作(拷贝、替换等)
- STL常用的拷贝替换算术集合算法
- STL算法 -------- 替换算法
- C++ STL 算法:替换算法
- STL算法之复制 移动 填充 归并 替换
- STL中删除和替换算法 (15 个)
- STL算法之unique和unique_copy
- 【经典算法】STL之next_permutation和prev_permutation
- STL算法之sort和stable_sort
- 42STL之算术和生成算法
- c++之STL(12) STL 算法 - 最小值和最大值
- STL算法之二
- STL 算法之transform
- Spring管理事务默认回滚的异常是什么?
- js隔行变色
- 【Tomcat9源码分析】NIO连接器实现
- LeetCode 557:Reverse Words in a String III (c++)
- 大数据平台架构技术选型与场景运用
- 41STL之拷贝和替换算法
- java实现语音播报功能
- HotSpot虚拟机对象探秘
- GreenDao的简单实用
- 2017中国移动互联网测试开发大会第三届早鸟票限时开抢!
- 400Nth Digit
- 获取ip地址
- 使用sina33的SDK在SC3817R上点亮HM1375(分色排版)
- 42STL之算术和生成算法