STL常见函数总结.doc_第1页
STL常见函数总结.doc_第2页
STL常见函数总结.doc_第3页
STL常见函数总结.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STL常见函数总结#include #include#include#include#include#include#include#include#include#include容器和算法顺序容器1 vector/支持快速随机访问vector f,f1;vector:iterator iter,q,h;int n,x; f.push_back(x);在尾部插入元素x,返回void; f.insert(iter,x);在iter前面插入x,返回指向新添加元素的迭代器; f.insert(iter,n,x);在iter前面插入n个x,返回void; f.insert(iter,q,h);在迭代器iter前面插入q和h范围内的所以元素; f.size(); 返回类型:vector:size_type,也可直接用int,long f.empty();返回布尔值 f.back();最后一个元素 f.front();返回第一个元素 fn 返回第n个元素 f.erase(iter)删除iter指向的元素,返回所删除值后面的元素的迭代器,若删除的是最后一个元素返回f.end()一样的位置 f.erase(q,h)删除q-h所有元素(包括q,不包括h),返回指向后面的的若h就是f.end(),还返回f.end(); f.clear();清空所以元素,返回void f.pop_back()删除最后一个元素,返回void 可以直接赋值f1=f;可以直接比较大小 f1=swap(f); f.assign(q,h);f先清空,然后把来自另一个vector的从q到h的元素复制进来 f.assign(n,x);f先清空,然后赋为n个x2 list/支持快速插入删除,就是个链表 f.push_front(x);不能用fn来访问 f.pop_front();返回void3 deque/双端队列,两头都有vector的高效性质,还,可以实现元素的随机访问 f.push_front(x); fn; f.pop_front();返回void4 stack/后进先出栈 s.empty() s.size() s.pop() 删除栈顶元素,不返回值 s.top() 返回栈顶元素的值,但不删除栈顶元素 s.push(x) 压栈5 queue/先进先出队列 s.empty() s.size() s.pop()删除队首元素,不返回值 s.front()返回队首值,但不删除 s.back()返回队尾值,但不删除 s.push(),在最后插入元素6 priority_queue /有优先级管理的队列 s.empty() s.size() s.pop()删除队首元素,不返回值 s.front()返回队首值,但不删除 s.top()返回具有最高优先级的元素,但不删除 s.push(),在适当位置插入新元素 定义方法 priority_queueint,vector,greater priority_queueint,vector,less priority_queue7 string 和vector差不多其实,特殊的vector?int pos;char ch100; getline(cin,s); s.insert(iter,t); iter前插t s.insert(iter,n,t); iter前n个插t s.insert(iter,q,h); s.earse(iter); s.earse(q,h); s.insert(pos,n,t);在pos前插入n个t s.insert(pos,s1); 在pos前插入s1 s.earse(pos,n);删除pos开始的n个字符 s.insert(pos,ch,n); s.insert(pos,ch); s.substr(pos,n);返回从pos开始的n个字符的字符串 s.substr(pos); s.replace(pos.len.s1);删除pos开始的len个字符并以s1代替插进去 s.replace(q,h,s1); s.find(s1) s1在s中第一次出现的位置 s.rfind(s1) s1在s中最后一次出现的位置 s.find_first_of(s1) 在s中查找s任意字符第一次出现 s.find_last_of(s1) 在s中查找s任意字符最后一次出现 s.find_first_not_of(s1) s.find_last_not_of(s1) 每个s1都有四种重载版本 s1,pos(从pos开始找),s1,pos,n(匹配s1的前n个字母) string的比较: s=s1,ss1,ss1最一般的 pare(s1) pare(pos,n,s1);s从pos开始的n个字符, 同理,这里的s1也有多种重载版本关联容器1 map(键值对应),键要可排序类型map f;map:key_type 键的类型map:mapped_type 值的类型map:value_type pair类型,其中first为一个常量,而sencond为一个可变量map中添加元素: 直接下标添加:fhello=2;(建立了键后首先赋值为0)(若原来有这个“hello”,则是修改了这个键对应的值) 用insert添加新元素:f.insert(map:value_type(hello,1); f.insert(make_pair(hello,1); insert(pair),返回一个pair类型( pairmap:iteratro, bool ret)对象,包括一个指向插入键的迭代器,和bool类型的判断是否插入的布尔值,如果键已经存在,就不插入了map中查找,读取元素 下标读取有危险(如果没有会插入) f.count(hello) 返回”hello出现的次数,对于map,返回的就是0或1 f.find(hello) 返回对应的迭代器,否则返回f.end()处删除元素: f.erase(),1传入键(返回0or1),2传入迭代器(void),3传入一对迭代器(void)2 setset set1,set2;添加元素:set1.insert(x); set2.insert(set1.begin(),set1.end(); set1.find(x); set1.count(x); set1.erase(x);1 bitsetbitset f; f.any() 是否存在为1的二进制位 f.none() f.size() fn f.test(n) f.set() 全部置为1 f.set(n) 第n位置为1 f.reset()全部置为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论