c++算法常用函数

利用sort函数排序:      sort(arr,arr+index);

保留小数点后两位:     setiosflags(ios::fixed) << setprecision(2);

求字符串长度:     strlen(str);

十进制数转换为n进制字符串:  itoa(num,str,n);

n进制数转换为10进制: long int strtol (const char* str, char** endptr, int base);

分解字符串为一组字符串: char *strtok(char *s,const char *delim)     第二次调用,第一个参数设置NULL;

string中数字转换成整型:int = stoi(string);

将整数转化为字符串:    sptintf(str,”%d”,num);

                                        string str = to_string(a+b);

string中的常用函数:      find函数在找不到指定值得情况下会返回string::npos    【s2.find(s1[i]) == string::npos】

toupper函数,字符变大写:  toupper(s1[i]);

isalpha:判断是否为字母;

idigit:判断是否为数字;

isprint:判断是否为可打印字符;

toupper,tolower: 大小写转换

substr:        Returns a newly constructed string object with its value initialized to a copy of a substring of this object.

sscanf:        https://blog.csdn.net/sjf0115/article/details/8579935

sprintf:        https://blog.csdn.net/iaccepted/article/details/18404719

sscanf(“%*s”)

printf(“%*s”,5,”123″)   执行:##123.  这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量

memcpy(a,b,sizeof(b)):  数组之间的赋值

reverse(string.begin(),string.end());     也可以是vector,数组

lower_bound:查找有序区间中第一个大于或等于某给定值的元素的位置

low=std::lower_bound (v.begin(), v.end(), num)  cout <<“lower_bound at position “<< (low- v.begin()) <<‘\n’;

int a[max];    sort(a,a+n);    int p = lower_bound(a,a+n,x) – a;

upper_bound:返回第一个大于x的数的地址

stringstream  去空格

stl中的count函数: 返回的是被查找元素的个数

fill()中 ,它的原理是把那一块单元赋成指定的值,也就是说任何值都可以

memset(),则是将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,即0 、1

    原文作者:a赵国瑞
    原文地址: https://www.jianshu.com/p/c5b0bba21e49
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞