博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用STL整理 (施工中 2017.8.11更新)
阅读量:4944 次
发布时间:2019-06-11

本文共 4182 字,大约阅读时间需要 13 分钟。

1.vector

构造

vector 
v;

基本操作

v.begin()             //指向迭代器中第一个元素。  v.end()               //指向迭代器中末端元素的下一个,指向一个不存在元素。        v.push_back(elem)     //在尾部加入一个数据。 v.pop_back()          //删除最后一个数据。 v.capacity()          //vector可用空间的大小。 v.size()              //返回容器中数据个数。 v.empty()             //判断容器是否为空。 v.front()             //传回第一个数据。 v.back()              //传回最后一个数据,不检查这个数据是否存在。 v.at(index)           //传回索引idx所指的数据,如果idx越界,抛出out_of_range。 v.clear()             //移除容器中所有数据。 v.erase(iterator)     //删除pos位置的数据,传回下一个数据的位置。 v.erase(begin,end)    //删除[beg,end)区间的数据,传回下一个数据的位置。注意:begin和end为iterator v.insert(position,elem)      //在pos位置插入一个elem拷贝,传回新数据位置。 v.insert(position,n,elem)    //在pos位置插入n个elem数据,无返回值。 v.insert(position,begin,end) //在pos位置插入在[beg,end)区间的数据,无返回值。

  

2.priority_queue

构造

priority_queue
que; //采用默认优先级构造队列最大值先出队priority_queue
,greater
>que3; //最小值先出队priority_queue
,less
>que4; //最大值先出队

基本操作

que.empty()   //判断一个队列是否为空que.pop()     //删除队顶元素que.push()    //加入一个元素que.size()    //返回优先队列中拥有的元素个数que.top()     //返回优先队列的队顶元素

  

 

3.map

构造

map
mp;

基本操作

mp.begin()          //返回指向map头部的迭代器mp.clear()         //删除所有元素mp.count()          //返回指定元素出现的次数mp.empty()          //如果map为空则返回truemp.end()            //返回指向map末尾的迭代器mp.equal_range()    //返回特殊条目的迭代器对mp.erase()          //删除一个元素mp.find()           //查找一个元素mp.get_allocator()  //返回map的配置器mp.insert()         //插入元素mp.key_comp()       //返回比较元素key的函数mp.lower_bound()    //返回键值>=给定元素的第一个位置mp.max_size()       //返回可以容纳的最大元素个数mp.rbegin()         //返回一个指向map尾部的逆向迭代器mp.rend()           //返回一个指向map头部的逆向迭代器mp.size()           //返回map中元素的个数mp.swap()           //交换两个mapmp.upper_bound()    //返回键值>给定元素的第一个位置mp.value_comp()     //返回比较元素value的函数

 

 

4.queue

构造

queue
q;

基本操作 

q.push(num)   //入列,插入队列的末端。 q.empty()     //判断队列是否为空q.size()      //获取队列中的元素个数   q.back()      //访问队列尾元素

  

 

5.stack

构造

stack
s;stack
c1(c2); 复制stack

基本操作

s.top()        //返回栈顶数据s.push(num)   //在栈顶插入数据s.pop()       //弹出栈顶数据s.empty()     //判断栈是否为空s.size()      //返回栈中数据的个数

  

 

 

6.set

构造

set
s;

基本操作

s.insert(num)             //把元素插入到集合中,同一元素不会重复插入s.inset(first,second)     //将定位器first到second之间的元素插入到set中,返回值是voids.erase(6)                //删除键值为6的元素 s.find(6)                 //查找键值为6的元素,如果没找到则返回end()s.begin()                //返回set容器的第一个元素s.end()                //返回set容器的最后一个元素s.clear()               //删除set容器中的所有的元素s.empty()              //判断set容器是否为空s.max_size()            //返回set容器可能包含的元素最大个数s.size()              //返回当前set容器中的元素个数s.rbegin()            //返回的值和end()相同s.rend()              //返回的值和rbegin()相同s.count()                //用来查找set中某个某个键值出现的次数,一般用于判断某一键值是否在set出现过erase(iterator)          //删除定位器iterator指向的值erase(first,second)      //删除定位器first和second之间的值(不包括second)erase(key_value)         //删除键值key_value的值lower_bound(key_value)   //返回第一个大于等于key_value的定位器upper_bound(key_value)   //返回最后一个大于等于key_value的定位器

  

 

7.deque

构造

deque
c;deque
c1(c2); //复制dequedeque
c(n, elem); //创建一个含有n个elem拷贝的deque

基本操作

c.assign(beg, end);  //将beg-end区间中的值赋值给cc.assign(n, elem);   //将n个elem的拷贝赋值给cc.at(idx);       //返回idx位置所指数据c.front();      //返回第一个数据c.back();      //返回最后一个数据c.begin();     //返回指向第一个数据的迭代器c.end();       //返回指向最后一个数据的下一个位置的迭代器c.rbegin();    //返回逆向队列的第一个数据c.rend();      //返回指向逆向队列的最后一个数据的下一个位置的迭代器c.push_back(elem);  //在尾部加入一个数据c.push_front(elem);  //在头部插入一个数据c.insert(pos, elem);  //在pos位置插入一个elem拷贝,返回新数据位置c.insert(pos, n, elem);  //在pos位置插入n个elem数据,无返回值c.insert(pos, beg, end);  //在pos位置插入在beg-end区间的数据,无返回值c.pop_back();           //删除最后一个数据c.pop_front();         //删除头部数据c.erase(pos);         //删除pos位置的数据,返回下一个数据的位置c.erase(beg, end);    //删除beg-end区间的数据,返回下一个数据的位置c.empty();            //判断容器是否为空c.max_size();         //返回容器中最大数据的数量c.resize(num);       //重新指定队列的长度c.size();            //返回容器中实际数据的个数c1.swap(c2)          //将c1和c2元素互换

  

转载于:https://www.cnblogs.com/Hyouka/p/7231140.html

你可能感兴趣的文章
Python 常见的错误类型和继承关系
查看>>
UI自动化(2)---CSS基础知识
查看>>
Java 并发:volatile 关键字解析
查看>>
用RadEditorLite替代MOSS中的富文本编辑控件
查看>>
《Java技术》预备作业02计科1501赵健宇
查看>>
SQL Server常用脚本
查看>>
专家:未来机器人取代办公室工作人员的概率很高
查看>>
根据当前登录域账号 获取AD用户姓名和所在OU目录
查看>>
ASP.NET - 用户控件制作
查看>>
CentOS 6.8-final Samba test OK
查看>>
CentOS 6.5克隆后eth1与eth0的问题
查看>>
[国家集训队]小Z的袜子 | 普通莫队
查看>>
企业信息系统——SCM
查看>>
ESXI6.0 时间(时区)显示不一致
查看>>
流程控制 while循环 运算符
查看>>
go时间和日期
查看>>
Collection中的List,Set的toString()方法
查看>>
mysql中You can’t specify target table for update in FROM clause错误解决方法
查看>>
Iterator --迭代器
查看>>
根据两点的经纬度计算两地距离
查看>>