1.sort( ) 用于排序,默认从小到大排。
2.max( ):两数最大
3.min():两数最小
4.abs():求一个数的绝对值 ( 与<cmath>中的fbs(),不同,因abs()只用于整型变量 )
5.swap(): 交换 x 与 y 的值
6.reverse(): 反转数组函数
(1)翻转整个数组
例:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[5]={11,22,33,44,55};
reverse(a,a+5);
for(int i =0;i<5;i++)
{
cout << a[i] << " ";
}
return 0;
}
输出 55 44 33 22 11
(2)翻转部分数组
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[5]={11,22,33,44,55};
reverse(a+3,a+5);
for(int i =0;i<5;i++)
{
cout << a[i] << " ";
}
return 0;
}
输出:11 22 33 55 44
7.fill():在某区间内填充某个值(适用于所有类型的数组,容器)
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[5]={11,22,33};
fill(a+3,a+5,9999);
for(int i=0;i<5;i++)
{
cout << a[i] << " ";
}
return 0;
}
输出 : 11 22 33 9999 9999
8.count() : 在数组中查找 x 在某区间出现的次数
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[5]={11,22,33,44,44};
cout << count(a,a+5,44); //在使用时要写出 地址的 范围
return 0;
}
输出 : 2
9.__gcd( ): 求两数的最大公因数 //注意:如果想求最大公倍数 = 两数相乘 / 最大公因数;
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a=12,b=4;
int Gcd=__gcd(a,b);
cout << Gcd;
return 0;
}
输出 : 4
10. next_permutation( ):给定的数组容器全排列。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[3]={1,2,3};
do{
cout << a[0] <<a[1] << a[2] << endl;
}while(next_permutation(a,a+3)); // 给定地址范围
return 0;
}
输出 :123 132 213 231 312 321