#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>
//常用拷贝和替换算法copyvoid myPrint(int val)
{cout << val << " ";
}void test01()
{vector<int>v1;for (int i = 0; i < 10; i++){v1.push_back(i);}vector<int>v2;v2.resize(v1.size());copy(v1.begin(), v1.end(), v2.begin());for_each(v2.begin(), v2.end(), myPrint);cout << endl;}int main() {test01();system("pause");return 0;
}
//总结:利用copy算法在拷贝时,目标容器记得提前开辟空间

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//常用拷贝和替换算法replaceclass MyPrint
{public:void operator()(int val){cout << val << " ";}
};void test01()
{vector<int>v;v.push_back(20);v.push_back(30);v.push_back(50);v.push_back(30);v.push_back(40);v.push_back(20);v.push_back(10);v.push_back(20);cout << "替换前:" << endl;for_each(v.begin(), v.end(), MyPrint());cout << endl;//将20替换成2000replace(v.begin(), v.end(), 20, 2000);cout << "替换后:" << endl;for_each(v.begin(), v.end(), MyPrint());cout << endl;
}int main() {test01();system("pause");return 0;
}

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>class MyPrint
{public:void operator()(int val){cout << val << " ";}
};class Greater30
{public:bool operator()(int val){return val >= 30;}
};//常用拷贝和替换算法 replace_if
void test01()
{vector<int>v;v.push_back(10);v.push_back(40);v.push_back(20);v.push_back(40);v.push_back(30);v.push_back(50);v.push_back(20);v.push_back(30);cout << "替换前:" << endl;for_each(v.begin(), v.end(), MyPrint());cout << endl;//将大于等于30 替换为 3000replace_if(v.begin(), v.end(), Greater30(), 3000);cout << "替换后:" << endl;for_each(v.begin(), v.end(), MyPrint());cout << endl;
}int main() {test01();system("pause");return 0;
}
//replace_if按条件查找,可以利用仿函数灵活筛选满足的条件

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//常用拷贝和替换算法swapvoid myPrint(int val)
{cout << val << " ";
}void test01()
{vector<int>v1;vector<int>v2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i + 100);}cout << "交换前:" << endl;for_each(v1.begin(), v1.end(), myPrint);cout << endl;for_each(v2.begin(), v2.end(), myPrint);cout << endl; cout << "--------------------" << endl;cout << "交换后:" << endl;swap(v1, v2);for_each(v1.begin(), v1.end(), myPrint);cout << endl;for_each(v2.begin(), v2.end(), myPrint);cout << endl;
}int main() {test01();system("pause");return 0;
}
//总结:swap交换容器时,注意交换的容器要同种类型

【C++】常用拷贝算法和替换算法相关推荐

  1. C++STL常用拷贝和替换算法

    C++STL常用集合算法 学习目标 算法简介 copy 功能描述 函数原型 示例 总结 replace 功能描述 函数原型 示例 总结 replace_if 功能描述 函数原型 示例 总结 swap ...

  2. java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析

    0. 前言 大家好,我是多选参数的程序员,一个正再 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般) ...

  3. 实现游戏后处理6大常用模糊算法

    游戏后处理6大常用模糊算法 模糊算法介绍 BoxBlur均值模糊 多次迭代 降低采样进行采样-优化 9次采样BoxBlur 高斯模糊 双重模糊技术(Dual Blur) Kawase模糊(Kawase ...

  4. 回归算法分类,常用回归算法解析

    回归算法分类,常用回归算法解析 回归是数学建模.分类和预测中最古老但功能非常强大的工具之一.回归在工程.物理学.生物学.金融.社会科学等各个领域都有应用,是数据科学家常用的基本工具. 回归通常是机器学 ...

  5. ACM 中常用的算法有哪些?

    在网上看到别人ACM学习的心得,转载过来,源地址不记得了,当时是百度的.内容如下: 网络上流传的答案有很多,估计提问者也曾经去网上搜过.所以根据自己微薄的经验提点看法. 我ACM初期是训练编码能力,以 ...

  6. 常用排序算法对比(时间复杂度、稳定性)

    常用排序算法对比

  7. 数字图像处理中常用图像分割算法有哪些?

    数字图像处理中常用图像分割算法有哪些? 1.多数的图像分割算法 2.图像边缘分割 3.图像阈值分割 4.基于区域的分割 5.形态学分水岭算法 多数的图像分割算法 均是基于灰度值的不连续和相似的性质.在 ...

  8. Spark中常用的算法

    Spark中常用的算法: 3.2.1 分类算法 分类算法属于监督式学习,使用类标签已知的样本建立一个分类函数或分类模型,应用分类模型,能把数据库中的类标签未知的数据进行归类.分类在数据挖掘中是一项重要 ...

  9. 常用机器学习算法原理及推导

    周末花半天多的时间整理了一下常用机器学习算法的原理及推导,分享出来给大家. 线性回归和逻辑回归 支持向量机(这个貌似工作中不怎么用,就用了之前的笔记) 决策树和随机森林 GBDT Xgboost和Li ...

  10. 视觉直观感受7种常用排序算法

    视觉直观感受若干常用排序算法 1 快速排序 介绍: 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状 ...

最新文章

  1. conda env环境配置
  2. c#中 uint--byte[]--char[]--string相互转换汇总
  3. 北京有个可以躺的酒吧——床吧(BED)
  4. instanceof 的运用
  5. AppScan api登录接口 postman_【Postman】12 Postman monitor功能使用
  6. identifier __ldg is undefined
  7. In Compiler.php line 36: Please provide a valid cache path.
  8. Leecode刷题热题HOT100(2)——两数相加
  9. 基于MySQL的调度系统_仓储调度系统的设计与实现(SSH,MySQL)
  10. git_day03_01——git远程仓库的使用
  11. 四、BDB JE学习(对java中内置对象的存储)
  12. maven向本土仓库导入jar包(处理官网没有的jar包)
  13. 阿里云短信验证码购教程(Java演示)
  14. 黑金开发板液晶显示图片
  15. 香港消委会:大部分航空公司超卖机票无赔偿细则
  16. 章节十六:编码和文件读写
  17. 2021-5-21-博弈论--金刚狼与小狗灰
  18. Flutter系列之TextField限制数字输入
  19. python图形用户界面page_Python+selenium使用PageObject实现UI自动化
  20. IPsec中IKE与ISAKMP过程分析(主模式-消息5和消息6)

热门文章

  1. 探索科学的奥秘之门Science,Cell, Nature
  2. 传智播客Java实现键盘数据的录入和if
  3. 永远不要低估自己,love your fear.
  4. Atitit 让maven pom.xml不编译 1.build   2.  defaultGoalinstall/defaultGoal   3.  directory${bas
  5. Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异
  6. paip.JAVA的优缺点相比C#.NET VC425
  7. paip.ASP加密新总结
  8. (转)人工智能的钟摆
  9. 关于机器智能,10问达摩院科学家金榕
  10. 全面Severless化只需7天!看南瓜电影的云上极速升级