科技周报|c++标准算法库之algorithm

Posted CSTA计算机科协

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科技周报|c++标准算法库之algorithm相关的知识,希望对你有一定的参考价值。

01

简介

       algorithm头文件是C++的标准算法库,它主要应用在容器上。所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的,也就是说,具有低耦合性。因此,任何数据结构都能使用这套算法库,只要它具有相应的迭代器类型。

02

头文件#include<algorithm>

常用函数:find(),sort(),reverse()    max(),min(),ans(),replace()

科技周报|c++标准算法库之algorithm
科技周报|c++标准算法库之algorithm
科技周报|c++标准算法库之algorithm

Fuz

当我们需要查找序列中的一个元素时怎么操作呢,遍历吗?

除了遍历当然有更好的方法,那就是algorithm中的find函数。

科技周报|c++标准算法库之algorithm
科技周报|c++标准算法库之algorithm

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

注意

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

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

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

同学们是不是感觉还不过瘾?algorithm库的函数当然不止这些,如果同学们还想掌握更多的话就需要自行学习啦,相信掌握algorithm库之后同学们在写代码的时候就会便利很多。

排版|宣传部 孟琮昊

文案|培训部 宋美杰


以上是关于科技周报|c++标准算法库之algorithm的主要内容,如果未能解决你的问题,请参考以下文章

自用的数据结构与算法库

TigerGraph算法库

neo4j服务器版本安装相应的算法库并使用

neo4j服务器版本安装相应的算法库并使用

neo4j服务器版本安装相应的算法库并使用

B00012 C++算法库的sort()函数