C++之常用的拷贝和替换算法

C++之常用的拷贝和替换算法

在这里插入图片描述

copy

在这里插入图片描述

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>void Myptint(int val)
{cout << val << " ";
}void test()
{vector<int> v;for (int i = 0; i < 10; i++){v.push_back(i);}vector<int>v2;v2.resize(v.size());copy(v.begin(), v.end(), v2.begin());for_each(v2.begin(), v2.end(), Myptint);cout << endl;
}int main()
{test();system("pause");return 0;
}

在这里插入图片描述

replace

在这里插入图片描述

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>void Myptint(int val)
{cout << val << " ";
}void test()
{vector<int> v;v.push_back(10);v.push_back(30);v.push_back(50);v.push_back(20);cout << "替换前" << endl;for_each(v.begin(), v.end(), Myptint);cout << endl;//将50替换为500replace(v.begin(), v.end(), 50, 500);cout << "替换后" << endl;for_each(v.begin(), v.end(), Myptint);cout << endl;}int main()
{test();system("pause");return 0;
}

在这里插入图片描述
在这里插入图片描述

replace_if

在这里插入图片描述

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>void Myptint(int val)
{cout << val << " ";
}class Greater30
{
public:bool operator()(int val){return val >= 30;}
};void test()
{vector<int> v;v.push_back(10);v.push_back(30);v.push_back(50);v.push_back(20);cout << "替换前" << endl;for_each(v.begin(), v.end(), Myptint);cout << endl;//将大于等于30替换为500replace_if(v.begin(), v.end(), Greater30(), 500);cout << "替换后" << endl;for_each(v.begin(), v.end(), Myptint);cout << endl;}int main()
{test();system("pause");return 0;
}

在这里插入图片描述
在这里插入图片描述

swap

在这里插入图片描述

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>void Myptint(int val)
{cout << val << " ";
}void test()
{vector<int> v;vector<int>v2;for (int i = 0; i < 10; i++){v.push_back(i);v2.push_back(i + 10);}cout << "交换前" << endl;for_each(v.begin(), v.end(), Myptint);cout << endl;for_each(v2.begin(), v2.end(), Myptint);cout << endl;swap(v, v2);cout << "交换后" << endl;for_each(v.begin(), v.end(), Myptint);cout << endl;for_each(v2.begin(), v2.end(), Myptint);cout << endl;
}int main()
{test();system("pause");return 0;
}

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/223195.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ :const修饰成员函数

常函数&#xff1a; 常函数&#xff1a; 成员函数后加const后我们称为这个函数为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后&#xff0c;在常函数中依然可以修改 属性可修改&#xff1a; class Person { public: void showPerson() …

【力扣】56. 合并区间

【力扣】56. 合并区间 文章目录 【力扣】56. 合并区间1. 题目介绍2. 解法2.1 方法一&#xff1a;标志位2.2 方法二&#xff1a;排序 遍历 3. Danger参考 1. 题目介绍 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合…

Linux——使用命令查看文件和文件夹数量

目录 一、相关命令参数解析二、查看当前目录下的文件数量2.1 包含子目录中的文件2.2 不包含子目录中的目录 三、查看当前目录下的文件夹个数3.1 不包含目录中的目录3.2 包含目录中的目录 四、查看当前文件夹下叫某某的文件的数量实例 五、总结 一、相关命令参数解析 "&qu…

csgo/steam搬砖项目新手教程

饰品市场持续下跌&#xff0c;CSGO搬砖还有搞头吗&#xff1f; 蒸砖搬砖工程特别适合工作比较忙&#xff0c;没有太多时间操作的人。在不耽误主业的前提下&#xff0c;增加收入来源&#xff0c;不失为一个好办法。在做这个项目的时候&#xff0c;最主要的是选择有利可图的道具进…

OpenCV完结篇——计算机视觉(人脸识别 || 车牌识别)

文章目录 Haar人脸识别方法Haar识别眼鼻口HaarTesseract进行车牌识别深度学习基础知识dnn实现图像分类 Haar人脸识别方法 scaleFactor调整哈尔级联器的人脸选框使其能框住人脸 官方教程指路 每个特征都是通过从黑色矩形下的像素总和减去白色矩形下的像素总和获得的单个值 级…

【李宏毅-元学习】

一、基本概念 1、元学习&#xff1a;学习如何学习&#xff0c;超参数调整 2、机器学习和元学习 机器学习&#xff1a;定义函数&#xff08;未知参数&#xff09;-定义损失函数-优化&#xff08;最小化损失函数&#xff09; 3、什么是元学习 机器学习通过三个步骤找到了学习算…

MySQL 8 手动安装后无法启动的问题解决

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;&#xff08;…

前缀和与差分

1.前缀和: 前缀和是指某序列的前n项和 2.一维前缀和: s[i]a[1]a[2]...a[i],s[r]-s[l-1]a[l]...a[r] 3.前缀和运算 int sum[N],a[N] for(int i1;i<n;i){ sum[i]sum[i-1]a[i]; } 4.查询操作,假设要求序列中第l个数到第r个数的和 ,这样使得查询操作的时间复杂度为O&#…

动态网页从数据库取信息,然后展示。

把数据库的驱动放在bin目录下。 通过servlet 读取数据库的内容&#xff0c;生成session,然后跨页面传给展示页。 package src;import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSe…

C# 使用PanGu分词

写在前面 这是官方介绍&#xff1a;盘古分词是一个中英文分词组件。作者eaglet 曾经开发过KTDictSeg 中文分词组件&#xff0c;拥有大量用户。作者基于之前分词组件的开发经验&#xff0c;结合最新的开发技术重新编写了盘古分词组件。 盘古分词组件需要配合其字典文件使用&am…

【上海大学数字逻辑实验报告】一、基本门电路

一、 实验目的 熟悉TTL中、小规模集成电路的外形、管脚和使用方法&#xff1b;了解和掌握基本逻辑门电路的输入与输出之间的逻辑关系及使用规则。 二、 实验原理 实现基本逻辑运算和常用逻辑运算的单元电路称为逻辑门电路。门电路通常用高电平VH表示逻辑值“1”&#xff0c;…

【中间件】配置中心中间件intro

中间件middleware 内容管理 why use 配置中心配置中心feature配置中心develop主流配置中心Apollo浅谈 本文从理论上介绍一下服务化中服务治理系统中的配置中心的理论并浅析Apllo 配置在生产中是很关键的一个部分&#xff0c;cfeng在work中遇到几次配置问题引发的问题&#xff0…