博客
关于我
【C++系列】C++中的 常用拷贝和替换算法
阅读量:236 次
发布时间:2019-03-01

本文共 1592 字,大约阅读时间需要 5 分钟。

常用拷贝和替换算法

学习目标:

  • 掌握常用的拷贝和替换算法

算法简介:

  • copy // 容器内指定范围的元素拷贝到另一容器中
  • replace // 将容器内指定范围的旧元素修改为新元素
  • replace_if // 容器内指定范围满足条件的元素替换为新元素
  • swap // 互换两个容器的元素

5.4.1 copy

功能描述:

  • 容器内指定范围的元素拷贝到另一容器中

函数原型:

  • copy(iterator beg, iterator end, iterator dest);
  • 注:
    beg是起始迭代器,
    end是结束迭代器,
    dest是目标容器的起始迭代器。

示例:

#include #include #include using namespace std; class myPrint {public:void operator()(int val) {cout << val << " ";}}; void test01() {vector v1 = {1, 2, 3, 4, 5};vector v2;copy(v1.begin(), v1.end(), back_inserter(v2));cout << "v2: ";myPrint p;for_each(v2.begin(), v2.end(), p);cout << endl;}

5.4.2 replace

功能描述:

  • 将容器内指定范围内的旧元素替换为新值

函数原型:

  • replace(iterator begin, iterator end, const T& value);

示例:

#include #include #include using namespace std; void test02() {vector v1 = {1, 2, 3, 4, 5};replace(v1.begin(), v1.end(), 10);cout << "v1: ";for (int val : v1) {cout << val << " ";}cout << endl;}

5.4.3 replace_if

功能描述:

  • 在容器内指定范围内,满足条件的元素替换为新值

函数原型:

  • replace_if(iterator begin, iterator end, Pred pred, const T& value);

示例:

#include #include #include #include using namespace std; void test03() {vector v1 = {1, 2, 3, 4, 5};replace_if(v1.begin(), v1.end(), not_less(5), 10);cout << "v1: ";for (int val : v1) {cout << val << " ";}cout << endl;}

5.4.4 swap

功能描述:

  • 互换两个容器中的元素

函数原型:

  • swap(iterator& begin, iterator& end, Container& other);

示例:

#include #include #include using namespace std; void test04() {vector v1 = {1, 2, 3};vector v2 = {4, 5, 6};swap(v1.begin(), v1.end(), v2.begin(), v2.end());cout << "v1: ";for (int val : v1) {cout << val << " ";}cout << "v2: ";for (int val : v2) {cout << val << " ";}cout << endl;}

转载地址:http://esxv.baihongyu.com/

你可能感兴趣的文章
Python“和“带整数的运算符
查看>>
Python“文件存在“制作目录时出错
查看>>
Python“文件存在“制作目录时出错
查看>>
Python、IMAP 和 GMail.将消息标记为已查看
查看>>
python一个一个获取迭代器的元素
查看>>
python一维数组 提取_python – 如何从numpy中的1维数组中提取零维切片
查看>>
python三大库之--numpy(一)
查看>>
python三大库之--numpy(二)
查看>>
python上的字无效字符_标识中的无效字符
查看>>
python下用decode和encode 中文转码
查看>>
Python下调用Linux的Shell命令
查看>>
Python接口自动化测试实战系列
查看>>
python下载_安装_配置_以及第一行python程序---python工作笔记009
查看>>
Python不协调机器人消息.内容
查看>>
Python与C#之间内存共享互传信息
查看>>
python与c语言混合编程_你试过C语言和Python一起混合编程吗?两者相加不是已经无敌了!...
查看>>
python与excel
查看>>
Python与Excel的完美邂逅:深入浅出,手把手教你轻松玩转Excel数据操作
查看>>
python与flask_Python编程中flask的简介与简单使用
查看>>
python与图灵机器人交互(WXPY版本)
查看>>