c++ strlen头文件_C语言编译软件

c++ strlen头文件_C语言编译软件C++ STL库 使用详细总结#include< algorithm >库函数目录#include< algorithm >库函数1.sort排序函数原型:sort(起始地址, 末尾地址, cmp),其中cmp是可以⾃⼰定义的函数名.默认

C++ STL库 使用详细总结   #include< algorithm >库函数   目录   #include< algorithm >库函数   1.sort排序   函数原型:sort(起始地址, 末尾地址, cmp),其中cmp是可以⾃⼰定义的函数名.   默认从⼩到⼤   sort(a,a+5);//   需要⾃⼰构造函数   sort(a,a+5,cmp);//   排序   sort(vec.begin(),vec.end());//vector   ⾃定义构造函数排序   sort(vec.begin(),vec.end(),cmp);//vector   2.reverse倒转   函数原型:reverse(起始地址,末尾地址)。   普通数组   reverse(a,a+5);//   倒转   reverse(vec.begin(),vec.end());//vector   3.unique去重   注意:unique去重需要先⽤sort排序,去重后重复的素会放在数组尾端并且缩减数组长度,需要⽤erase函数实现真正删除。   数组   sort(a,a+5);//   去重返回尾地址   int pos =unique(a,a+5);//unique   pos   从尾地址到最后空间进⾏删除   erase(pos,a+5);//   ————————————————-   sort(vec.begin(),vec.end());//vector   去重返回尾地址   int pos =unique(vec.begin(), vec.end());//unique   pos   从尾地址到最后空间进⾏删除   vec.erase(pos, vec.end());//   4.⼆分查找   函数原型:   1.lower_bound(起始地址, 末尾地址,x):查找第⼀个⼤于等于x⽬标值的位置   2.upper_bound(起始地址, 末尾地址,x):查找第⼀个⼤于x⽬标值的位置   3.binary_search(起始地址, 末尾地址,x):查找x是否存在于数组或中,找到返回true,否则返回false   数组   int pos1=lower_bound(a,a+5,2)-a;//   int pos2=upper_bound(a,a+5,2)-a;   int flag=binary_search(a,a+5,2);   ———————————————————–   int pos1=lower_bound(vec.begin(),vec.end(),2)-vec.begin();//vector   int pos2=upper_bound(vec.begin(),vec.end(),2)-vec.begin();   int flag=binary_search(vec.begin(),vec.end(),2);   5.find函数查找   函数原型:   1.s1.find(s2):在s1字符串中查找s2,查找到返回第⼀个字符的位置,查找失败返回s1.npos,这个其实是⼀个数字   ,即s1.npos=   2.set.find(a):查找a是否在set中,如果找不到,返回set.end()   2.set.count(a):本来是计算a出现的次数,但是由于集合中是没有重复素的,于是count函数也就被作为查找函数了,因为a只能出   现1次或者0次,查找成功,返回1;查找失败返回0   3.map.find():主要⽤于查找key是否存在map中,不存在返回map.end(),⽤法和set⼀样   6.字符串和整型的互换   函数原型:   1.stoi(s):将字符串s转化成整形,s为string类型,即string –> int   类型,可以先⽤s.c_str()⽅法把string类型转化为const char   2.atoi(s):将字符串转化为整形,但s为const char   类型,再转为整   形,即const char –> int   3.stringstream:需要头⽂件#include< sstream>,可将只含数字的字符串转化为整形,也可将数字和⼩数点组成的字符串转化为浮   点型,即string –> int, string –> double   4.stringstream:需要头⽂件#include< sstream>,可将整形或浮点型数字转化为字符串,即int –> string, double –> string   5.to_string():可将整形转化为字符串,不推荐将浮点型转化为字符串   7.排列组合   next_permutation(),求当前排列的下⼀个全排列   prev_permutation(),求当前排列的上⼀个全排列   #include< vector >库函数   1.vector介绍   vector和built-in数组类似,拥有⼀段连续的内存空间,能⾮常好的⽀持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间   进⾏插⼊和删除会造成内存块的拷贝,另外,当插⼊较多的素后,预留内存空间可能不够,需要重新申请⼀块⾜够⼤的内存并把原来的数   据拷贝到新的内存空间。这些影响了vector的效率,但是实际上⽤的最多的还是vector容器,建议⼤多数时候使⽤vector效率⼀般是不错   的。   创建vector对象,vector< int > vec;   vector的函数部分适⽤于string字符串   /   /   2.vector的功能函数   在   的最后位置添加⼀个数据   vec.push_back();//   vector   去掉   的最后⼀个数据   vec.pop_back();//   vector   得到编号位置的数据   vec.at();//   得到   头的指针   vec.begin();//   vector   得到   的最后⼀个单   的指针   vec.end();//   vector   +1   得到   最前⾯的值   vec.front();//   vector   得到数组的最后⼀个单的引⽤   vec.back();//   得到   最⼤可以是多⼤   区别与   vec.max_size();//   vector   /   vec.size()   当前   分配的⼤⼩   vec.capacity();//   vector   当前使⽤数据的⼤⼩   vec.size();//   改变当前使⽤数据的⼤⼩,如果它⽐当前使⽤的⼤   则填充默认值   vec.resize();//   ,   改变当前   所分配空间的⼤⼩   vec.reserve();//   vecotr   删除指针指向的数据项   vec.erase();//   清空当前的   vec.clear();//   vector   将   反转后的开始指针返回   其实就是原来的   vec.rbegin();//   vector   (   end-1)   将   反转构的结束指针返回   其实就是原来的   vec.rend();//   vector   (   begin-1)   判断   是否为空   为空返回   否则返回   vec.empty();//   vector   ,   true,   false   与另⼀个   交换数据   vec.swap();//   vector   #include< stack >堆栈库函数   1.stack介绍   堆栈是⼀个线性表,插⼊和删除只在表的⼀端进⾏。这⼀端称为栈顶(Stack Top),另⼀端则为栈底(Stack Bottom)。堆栈的素插⼊称为   ⼊栈,素的删除称为出栈。由于素的⼊栈和出栈总在栈顶进⾏,因此,堆栈是⼀个后进先出(Last In First Out)表,即 LIFO 表。为了   严格遵循堆栈的数据后进先出原则,stack 不提供素的任何迭代器操作,因此,stack 容器也就不会向外部提供可⽤的前向或反向迭代器   类型。   2.stack的函数   创建stack对象,stack< int >s   堆栈为空则返回   否则返回   s.empty();//   true,   false   移除栈顶素   s.pop();//   在栈顶增加素   s.push();//   返回栈中素数⽬   s.size();//   返回栈顶素   s.top();//   #include< queue >队列库函数   1.queue正常队列   创建queue对象,queue< int >q   将素接到队列的末端;   q.push();//   弹出队列的第⼀个素,并不会返回素的值;   q.pop();//   访问队⾸素   q.front();//   访问队尾素   q.back();//   访问队中的素个数   q.size();//   队列为空返回   否则返回   q.empty();//   true,   false   2.priority_queue优先队列   创建priority_queue对象,priority_queue< int >q;//默认⼤顶堆   升序队列   ⼩顶堆   priority_queue <int,vector<int>,greater<int>> q;//   ,   降序队列   ⼤顶堆   priority_queue <int,vector<int>,less<int>>q;//   ,   deque的构造函数   创建deque对象,deque< int >d   创建⼀个空   deque();//   deque   创建⼀个   素个数为   deque(int nSize);//   deque,   nSize   创建⼀个   素个数为   且值均为   deque(int nSize,const T& t);//   deque,   nSize,   t   复制构造函数   deque(const deque &);//   deque的功能函数   ⾸素地址   d.begin();//   尾素地址   d.end();//   插⼊   末端   d.push_back();//   deque   插⼊   ⾸端   d.push_front();//   deque   为空返回   ,否则返回   d.empty();//deque   true   false   将   的长度改为   ,超出的素将被删除   d.resize(n);//   deque   n   清空   d.clear();//   deque   将   的   到   中的素赋值给   d.assign(a.begin(),a.end());//   a   begin   end   deque   等同于   交换两个队列   d.swap(d2);//   swap(d,d2);   逆置   d.reverse();//   deque   将   和   合并并且变成升序   默认升序   d.merge(d2);//   deque   d2   (   )   将   和   合并并且变成降序   d.merge(d2,greater<int>());//   deque   d2   头部插⼊从   开始到结尾的素   d.insert(d.begin(),d2,begin(),d2.end());//deque   d2   在   开始位置插⼊⼀个   d.insert(d.begin(),n);//   deque   n   在   开始位置插⼊   个   d.insert(d.begin(),x,n);//   deque   x   n   将   第⼀个素删除   d.erase(d.begin());//   deque   将   从   到   删除   d.erase(d.begin(),d.end());//   deque   begin()   end()   以下操作需要   前置查看   是否为空   //   empty   deque      头部素   d.front();//   deque      最后⼀个素   d.back();//   deque   当   为空时   和   不会报错   //   deque   front()   back()   删除最后⼀个素   d.pop_back();//   删除第⼀个素   d.pop_front();//   当   为空是调⽤   和   会使程序崩溃   //   deque   pop_back()   pop_front()   #include< ctype.h>字符串判断库函数   1.ctype介绍   该函数库包含1.isalpha() 2.isalnum() 3.islower() 4.isupper四个函数   2.ctype函数   判断字符是否为字母   是返回   否则返回   isalpha();//   ,   1,   0   判断字符是否为数字或者字母   也就是说判断⼀个字符是否属于   isalnum();//   ,   a~z||A~Z||0~9   判断字符是否为⼩写字母   是否属于   islower();//   ,   a~z   判断字符是否为⼤写字母   是否属于   isupper();//   ,   A~Z   #include< stdlib.h>⽹络库函数   1.stdlib介绍   ⽬前接触到有改写字符的⼤⼩写。   2.stdlib函数   将字符转化为⼩写   tolower();//   将字符转化为⼤写   toupper();//   #include< math.h>数学库函数   1.取整函数   向上取整   ceil();//   向下取整   floor();//   四舍五⼊取整

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/44663.html

(0)
上一篇 2024年 9月 5日 下午10:42
下一篇 2024年 9月 5日

相关推荐

关注微信