C++中常用到的函数

  1. 全排列函数
    next_permutation函数,其函数原型为:

    #include < algorithm >

    bool next_permutation(iterator start,iterator end)
    返回值:当当前序列不存在下一个排列时,函数返回false,否则返回true
    作用: next_permutation(num,num+n)函数是对数组num中的前n个元素进行全排列,同时并改变num数组的值。
    注意: next_permutation在使用前需要对欲排列数组按升序排序,否则只能找出该序列之后的全排列数

  2. 从字符串中提取子串
    substr函数,其函数原型为:

    #include< cstring>

    string substr(pos, len)
    形参含义:pos子串起始位置,len子串长度
    返回值:返回子串
    注意:这个函数会遍历整个字符串,耗费时间,如果用在循环内部相当于多了一重循环,可能造成超时。

  3. 字符串转换为整数
    atoi函数,函数原型为:

    #include< cstdlib>

    int atoi(const char *p)
    int atoi(str.c_str())
    形参含义:str为需要转换的字符串
    返回值:返回整数

  4. 字符串流结合getline函数分解字符串

模板

#include< sstream>
getline(cin, s); //从屏幕按行读入到字符串s中
istringstream is(s); //创建字符串输入流对象is, 并初始化为s
string temp;
while(getline(is, temp, ’ ') //从is中以‘ ’为分隔符读入到tmep中
{
}

  1. c_str函数
    函数原型:
    #include< string>
    const char *str.c_str()
    函数功能:把一个string类型的str转换为C语言类型的字符数组静态指针
    注意:此处为静态指针,不能直接赋值给char *

  2. C++中运算符重载
    用途:一般用于对定义的两个结构体元素进行比较
    法则:重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。
    函数原型:
    返回类型 operator需要重载的符号 (const 形参类型&) { }

  3. vector数组去重函数
    arry.erase(unique(arry.begin(), arry.end()), arry.end());
    unique()函数对[形参1,形参2)范围的元素进行去重(注:区间是前闭后开,即不包含形参2所指的元素),返回值是一个迭代器,它指向的是去重后容器中不重复序列的最后一个元素的下一个元素
    unique()函数可以去除数组中相邻重复项。例如:
    输入数组 a[]={1,2,3,4,4,5,6,6,6,7,8,6,7,8}。
    输出数组 a[]={1,2,3,4,5,6,7,8,6,6,7,8}。

  4. sscanf()函数
    用途:从一个字符串中读入指定格式的数据
    函数原型:int sscanf(const char *str, const char *format, &……);
    返回值:成功读入的数据个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值