科技周报|c++标准算法库之algorithm
Posted CSTA计算机科协
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科技周报|c++标准算法库之algorithm相关的知识,希望对你有一定的参考价值。
01
简介
algorithm头文件是C++的标准算法库,它主要应用在容器上。所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的,也就是说,具有低耦合性。因此,任何数据结构都能使用这套算法库,只要它具有相应的迭代器类型。
02
头文件#include<algorithm>
常用函数:find(),sort(),reverse() max(),min(),ans(),replace()
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/f62a91cb0de6403dac52d7ad973ef1bb.jpg)
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/7c48e0e2802f4a8f962bc76f5d3bf7fa.jpg)
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/a65a7405d3bf4ed080a462343d7ccfdc.jpg)
Fuz
当我们需要查找序列中的一个元素时怎么操作呢,遍历吗?
除了遍历当然有更好的方法,那就是algorithm中的find函数。
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/8a39fa57a06c44e58dfec2ab6ea0723e.jpg)
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/a65a7405d3bf4ed080a462343d7ccfdc.jpg)
Mario
//find(查找序列的起始位置,查找序列的终止位置,要查找的元素)
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int ia[]={0,1,2,3,4,5,6};
int *i= find(ia,ia+7,6);//在整个数组中查找元素 9
int *end=ia+7;//数组最后位置
if(i == end)
cout<<"没有找到元素 9"<<endl;
else cout<<"元素 9的位置是"<<*i<<endl;
}
运行结果:
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/f0cf2d44bd974ea08d3b6bd995c7d333.jpg)
注意
sort函数
sort(序列起始位置,序列结束位置)
同学们还记得冒泡排序吗,for,for,for什么来着?冒泡排序繁琐难记,那有没有一个简单的函数可以替代呢?当然!sort函数将序列从小到大排列,就是为我这种懒人准备的,上代码!
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int a[5] = {55,44,33,11,22};
sort(a,a+5);
// reverse(a,a+5);//这里是封印!!!
for(int i = 0; i < 5; i++)
cout << a[i] << ' ';
return 0;
}
运行结果:
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/160d1c9d5dc8431785c9353fe9e10d08.jpg)
min,max,abs函数
下面将为大家介绍三个有用但不完全有用的函数:min,max,abs。相信同学们看到它们的名字就知道他们的作用了吧。
#include<iostream>
#include<algorithm>
int main() {
int a = 3, b = 4;
//求最大值
int Max = max(a,b);
//求最小值
int Min = min(a,b);
//求绝对值
int Abs = abs(-3);
cout << Max << Min << Abs;
return 0;
}
运行结果:
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/3646216d34994e5898a5ddf9bd8224fc.jpg)
replace()
replace函数的作用是用一个给定值替换一些值,可以快速的将序列中的元素按照自己的需求进行替换。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int myints[] = {10 ,20 ,30 ,30, 20, 10, 10, 20};
vector<int> myvector(myints, myints + 7);
replace(myvector.begin(), myvector.end(), 20, 99);
cout <<"myvector contains: ";
for(vector<int>::iterator it = myvector.begin(); it < myvector.end(); it++)
cout << *it << ' ';
cout << endl;
return 0;
}
运行结果:
![科技周报|c++标准算法库之algorithm](https://image.cha138.com/20210519/f54324eb546446aa8f0bb7d2a71a4591.jpg)
同学们是不是感觉还不过瘾?algorithm库的函数当然不止这些,如果同学们还想掌握更多的话就需要自行学习啦,相信掌握algorithm库之后同学们在写代码的时候就会便利很多。
排版|宣传部 孟琮昊
文案|培训部 宋美杰
以上是关于科技周报|c++标准算法库之algorithm的主要内容,如果未能解决你的问题,请参考以下文章