废话不多说,直接开始:
1:max
很好理解,求两数更大值,只能放两数,多了不行
用法:
2:min
求两数更小值,只能放两数,多了不行
用法:
3:abs
得一个数的绝对值
用法:
用个好理解的:
4:swap
交换两数的值
用法:
用个好理解的:
5.reverse
翻转x-y区间的数组、容器的值。
用法:
注意:如果想在翻转时指定位数,则其为半开半闭区间。 如reserve(a+2, a+4);翻转数组中第2-4之间的数,不包括第二个但包括第四个。
6:sort
估计有人早就想看这个了,没错!快排sort,对x-y区间的数组、容器进行排序。默认升序排列。
用法:
结构体排序同理
举个栗子:A676.成绩排序
参考代码如下
sort函数的时间复杂度为O(nlogn),比冒泡、简单排序等效率高 ,所以我天天用sort偷懒,大家别学
注意:sort和reverse函数一样,可以自由指定排序范围,也是半开半闭区间(左闭右开
7.find
查找某数组指定区间x-y内是否有x,若有,则返回该位置的地址,若没有,则返回该数组第n+1个值的地址。
不常用,返回的是地址,懒得换,我也不熟
用法:
8.upper_bound()、lower_bound()
upper_bound():查找第一个大于x的值的位置
lower_bound():查找第一个大于等于x的值的位置
这俩货用的是二分查找,时间复杂度O(logN),可以用于偷懒,大家都要掌握啊,不然怎么偷懒节省代码量
用法:和find一样
9.fill
在区间内填充某一个值。同样适用所有类型数组,容器。
用法:
我jio得这个函数可以替代memset,memset的16进制用起来太难受了
10.count
查找一个量在数组或容器中出现的次数
注意:和reverse,sort等一样,指定区间查询时是半开半闭区间(左闭右开区间)。
11.__gcd
好东西,偷懒用,用于节省代码量
直接上题A691.最大公约数
标准模板题
那有没有最小公倍数函数呢?没错,哎,没有!
之周所众,最小公倍数乘最大公因数的乘积就等于两数之积,所以最小公倍数就是
注意:__gcd() 有两个下划线!
就这样吧,就把几个常用的列一下,还有几个求并集,交集和余集以及一个全排列函数,大家可以csdn自行学习,该贴大部分由该网址学习
哎哎哎,先别走啊!三体组织ACGO分部正在持续招人中,欢迎加入啊!!!传送门
还有一个比赛呢!传送门,邀请码G38c,希望大家积极参与
最后!祝大家题题AC,天天快乐