zoukankan      html  css  js  c++  java
  • c++函数库中一些实用的函数

    有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数。

    这里只记录一些不太常见的函数。

    -------------------------------------!持续更新!-----------------------------------------------------

    --------------------------------------正文分界线-------------------------------------------------------

    1. __gcd(x, y)

    求两个数的最大公约数,如__gcd(6, 8) 就返回2。在 algorithm 库中。是不是很方便?

    2. reverse(a + 1, a + n + 1)

    将数组中的元素反转。a 是数组名,n是长度,跟 sort 的用法一样。值得一提的是,对于字符型数组也同样适用。也在 algorithm 库中。

    3. unique(a + 1, a + n + 1) 

    去重函数。跟sort的用法一样。不过他返回的值是最后一个数的地址,所以要得到新的数组长度应该这么写: _n = unique(a + 1, a + n + 1) - a - 1.

    4.lower_bound(a + 1, a + n + 1, x); upper_bound(a + 1, a + n + 1, x)

    lower_bound是查找数组中第一个大于等于x的数,返回该地址,同理也是 pos = lower_bound(a + 1, a + n + 1, x) - a

    upper_bound是查找第一个大于x的数,用法和lower_bound一样

    复杂度是二分的复杂度,O(logn)。(其实就是代替了手写二分)

    5.printf("%.3f M ",(double)sizeof(a)/(1<<20));

    这个其实不算函数,但是能输出数组占用了多少内存,不用手算了~(a是数组名)。

    6.fill(a + 1, a + n + 1, x)

    将数组a中的每一个元素都赋成x,跟memset的区别是,memset是一个字节一个字节赋值,fill是一个元素一个元素赋值!(省掉一层for……)

  • 相关阅读:
    pandas中的时间序列基础
    Python中的进程
    Pandas透视表和交叉表
    Pandas分组级运算和转换
    Python中的线程详解
    Pandas聚合
    Python面试题整理
    Pandas分组
    暑假集训 || 动态规划
    DFS || HDU 2181
  • 原文地址:https://www.cnblogs.com/mrclr/p/8387228.html
Copyright © 2011-2022 走看看