常用的c++中的函数
的最小整数(向上取整)。ceil(1.0*a/b)可代替为(a+b-1)/b。的最大整数(向下取整)。floor(1.0*a/b)可代替为a/b。有效数据缩短(可结合erase去重)的绝对值(适用于浮点数)。的绝对值(适用于整数)。的余数(适用于浮点数)。
·
目录
一、算法函数
1.swap:交换两个变量的值。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a=1,b=2;
cout<<a<<" "<<b<<endl;
swap(a,b);
cout<<a<<" "<<b<<endl;
}

2.sort:给一个数组排序。
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int a[5]={3,1,4,2,6};
//从小到大排序
sort(a,a+5);
for(int i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
//从大到小排序
sort(a,a+5,cmp);
for(int i=0;i<5;i++)
cout<<a[i]<<" ";
return 0;
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> a{3, 1, 4, 2, 6};
// 从小到大排序
sort(a.begin(), a.end());
for(int i = 0; i < a.size(); i++)
cout << a[i] << " ";
cout << endl;
// 从大到小排序
sort(a.begin(), a.end(), greater<int>());
for(int i = 0; i < a.size(); i++)
cout << a[i] << " ";
cout << endl;
return 0;
}

3.reverse:反转一个序列的顺序
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> a{0,1,2,3,4,6};
reserse(a.begin(),a.end());
for(auto num:a)
cout<<ele<<" ";
cout<<endl;
reverse(a.begin()+2,a.begin()+4);
for(auto num:a)
cout<<num<<" ";
cout<<endl;
return 0;
}

4.unique:消除数组的相同重复元素
有效数据缩短(可结合erase去重)
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> a{1,2,1,4,5,4,4};
sort(a.begin(),a.end());
a.erase(unique(a.begin(),a.end()),a.end());
for(auto num:a)
cout<<num<<" ";
return 0;
}

5.gcd:最大公约数
lcm:最小公倍数
#include<bits/stdc++.h>
#include<numeric> //这两个函数的使用需要这个头文件
using namespace std;
int main()
{
int x = gcd(4, 3);
int y = lcm(4, 3);
cout << x << " " << y;
return 0;
}
6. lower_bound:寻找≥x的第一个元素的位置;
upper_bound:寻找>x的第一个元素的位置。
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> a{0,1,2,3,4,6};
int pos1=lower_bound(a.begin(),a.end(),3)-a.begin();
cout<<pos1<<endl;
int pos2=upper_bound(a.begin(),a.end(),3)-a.begin();
cout<<pos2<<endl;
return 0;
}

7._itoa:十进制转任意进制
#include <bits/stdc++.h>
using namespace std;
int main() {
int a = 10;
char b[100];
_itoa(a, b, 2);//括号里面的分别为要转换的进制数,转换后的结果,目标进制
cout << b;
return 0;
}
二、数学函数:
1.基本数学运算
-
abs(x):返回x的绝对值(适用于整数)。 -
fabs(x):返回x的绝对值(适用于浮点数)。 -
sqrt(x):返回x的平方根。 -
pow(x, y):返回x的y次方。 -
exp(x):返回e的x次方。 -
log(x):返回x的自然对数(以e为底)。 -
log10(x):返回x的常用对数(以10为底)。
2.取整函数
-
ceil(x):返回大于或等于x的最小整数(向上取整)。ceil(1.0*a/b)可代替为(a+b-1)/b -
floor(x):返回小于或等于x的最大整数(向下取整)。floor(1.0*a/b)可代替为a/b -
round(x):返回x的四舍五入值。
3.其他函数
-
fmod(x, y):返回x除以y的余数(适用于浮点数)。 -
max(x, y):返回x和y中的最大值。 -
min(x, y):返回x和y中的最小值。
#include<bits/stdc++.h>
using namespace std;
int main()
{
//求余(取模)
cout<<fmod(9,4)<<endl;
//两个数找最小值
cout<<min(1,2)<<endl;
//三个数找最小值
cout<<min(min(1,2),3)<<endl;
cout<<min({1,2,3})<<endl;
//两个数找最大值
cout<<max(1,2)<<endl;
//三个数找最大值
cout<<max(max(1,2),3)<<endl;
cout<<max({1,2,3})<<endl;
return 0;
}

更多推荐
所有评论(0)