//cctype
、isalpha(x) 判断x是否为字母
2、isdigit(x) 判断x是否为数字
3、islower(x) 判断x是否为小写字母
4、isupper(x) 判断x是否为大写字母
5、isalnum(x) 判断x是否为字母或数字
6、ispunct(x) 判断x是否为标点符号
7、isspace(x) 判断x是否为空格
对于以上函数,如果x符合条件的话,均会返回true,否则返回false
还有以下函数:
1、toupper(x) 如果x是小写字母,将其转换成大写字母
2、tolower(x) 如果x是大写字母,将其转换成小写字母
//string
1、s.erase(x,y) 表示将字符串s从x位置起删除y个字符
2、s.insert(x,y) 表示将字符串y(或字符y)插入到s的x位置处
3、s.push_back(x) 表示在s的末尾插入字符x
4、reverse(s.begin(),s.end()) 将字符串s翻转
5、s.substr(pos,len):表示在pos这个位置提取长度位len的字串,如果长度不够则只显示剩余的字符串。例如:”abcdef”,s.substr(4,5)只会显示ef。
6、to_string(int)将整数转化为字符串。
7、find,str.find(a),在str中找是否有a,如果有a返回a的第一个字符在str中的位置,没有就返回的是string::npos
//cmath
1.ceil函数:向上取整函数,如:ceil(3.2)等于4
2.floor函数:向下取整函数。
3.round函数:对参数进行四舍五入。
4.log10:可以调用log10。
5.sqrt:对数字进行开平方根。
//algorithm
1.upper_bound(a,a+n,m):返回a中(有序)第一个大于m的数的迭代器(指针),如果没有大于m的返回a中最后一个元素的后一个位置。
确定在a中下标:int pos=upper_bound(a,a+n,m)-a。注意如果a从1,或者2开始都是减去a因为pos是他在a中位置,例如a从0开始pos=1,从1开始则pos变成了2而已。
2.lower_bound:和上一个用法基本相同唯一区别是lower是返回大于等于m的第一个元素的迭代器。其他用法一样。
3.next_permutation(a+1,a+1+n):左闭右开。作用是将序列重新排列为下一个字典序更大的排列。如果当前序列已经是字典序最大的排列,则将其重置为字典序最小的排列并返回 false。通常搭配do{…}while(next_Permutation())来使用。