科技周报|c++标准算法库之algorithm
Posted CSTA计算机科协
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科技周报|c++标准算法库之algorithm相关的知识,希望对你有一定的参考价值。
01
简介
algorithm头文件是C++的标准算法库,它主要应用在容器上。所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的,也就是说,具有低耦合性。因此,任何数据结构都能使用这套算法库,只要它具有相应的迭代器类型。
02
头文件#include<algorithm>
常用函数:find(),sort(),reverse() max(),min(),ans(),replace()
Fuz
当我们需要查找序列中的一个元素时怎么操作呢,遍历吗?
除了遍历当然有更好的方法,那就是algorithm中的find函数。
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;
}
运行结果:
注意
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;
}
运行结果:
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;
}
运行结果:
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;
}
运行结果:
同学们是不是感觉还不过瘾?algorithm库的函数当然不止这些,如果同学们还想掌握更多的话就需要自行学习啦,相信掌握algorithm库之后同学们在写代码的时候就会便利很多。
排版|宣传部 孟琮昊
文案|培训部 宋美杰
以上是关于科技周报|c++标准算法库之algorithm的主要内容,如果未能解决你的问题,请参考以下文章