[杂谈] 部分常用的algorithm及numeric函数

binary_search 确定容器中是否存在某个元素

binary_search(&num[0], &num[10], 5)

count 返回匹配给定值的元素数目

count(&num[0], &num[5], 3)

count_if 返回符合条件的元素数目 (C++11)
   
   
#include<iostream>
#include<numeric>
using namespace std;
int cmp(int x){ return x >= 2 && x <= 4; }
int main()
{
int num[5] = { 1, 2, 3, 4, 5};
cout << count_if(&num[0], &num[5], cmp) << endl;
return 0;

floor() 返回小于或者等于指定表达式的最大整数
ceil() 返回大于或者等于指定表达式的最小整数
fill 为一个序列赋值
find 在序列中查找一个匹配值的元素(返回地址)
find_if 在数组中查找第一个符合条件的元素
   
   
#include<iostream>
#include<numeric>
using namespace std;
int cmp(int x){ return x > 2 && x < 4; }
int main()
{
int num[5] = { 4, 2, 4, 1, 3 };
cout << find_if(num, num+5, cmp)-num << endl;
return 0;

lower_bound 查找>=X的下标(数组必须先从小到大排序)
upper_bound 查找>X的下标(数组必须先从小到大排序)

max 返回两个元素间的较大者 (C++11)
min 返回两个元素间的较小者 (C++11)
max_element 返回数组中的最大者
min_element 返回序列中的最小者

next_permutation 依照字典顺序生成序列的下一个稍大的排列
prev_permutation 依照字典顺序生成序列的下一个稍小的排列

make_heap 创建一个堆并以序列的形式输出
pop_heap 从一个堆中移除最大的元素
push_heap 添加一个元素至堆
sort_heap 将堆转变成有序序列

reverse 将给定序列反转顺序
sort 将序列按升序排序
stable_sort 将序列排序并且维持相等元素的原始次序
swap 交换两个对象的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值