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


你可能感兴趣的:(c++算法常用函数)