STL
来源:互联网 发布:淘宝易行堂 编辑:程序博客网 时间:2024/04/27 17:19
STL=STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是容器、算法和一些其他组件的集合。
序列式容器
向量(vector)连续存储的元素<vector>,可变长数组
头文件:#include<vector>
创建vector对象:vector<int>vec
尾部插入数字:vec.push_back(a);
使用下标访问元素:cout<<vec[0]<<endl;下标应该从0开始
使用迭代器访问元素:
vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl;
插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
向量大小:vec.size();
清空:vec.clear();
列表(list)由节点组成的双向链表,每个节点包含着一个元素<list>(先进先出)
头文件:#include<list>
创建list对象:list<int>lis;
返回第一个元素的引用:int n=lis.front();
返回最后一个元素的引用:int n=lis.back();
增加一元素到链表头:lis.push_front();
增加一元素到链表尾:lis.push_back();
删除链表头的第一个元素:lis.pop_front();
删除链表尾的第一个元素:lis.pop_back();
删除所有元素:lis.clear();
判断链表是否为空:lis.empty();
返回链表中元素个数:lis.size();
返回第一个元素的指针:lis.begin();
返回最后一个元素的下一个指针:lis.end();
容器配置器
栈(stack)后进先出的值排序<stack>
头文件:#include<stack>
创建stack对象:stack<int>sta;
sta.empty判断堆栈是否为空
sta.pop 向堆栈里面压入一个数据
sta.push () 向堆栈压入一个数据
sta.size() 返回当前堆栈长度(即内部数据个数)
sta. top() 得到堆栈栈顶数据
队列(queue)先进先出的值排序<queue>
头文件:#include<queue>
创建一个queue对象:queue<int>que;
que.push(x) 将x压入队列的末端
que.pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值
que.front() 返回第一个元素(队顶元素)
que.back() 返回最后被压入的元素(队尾元素)
que.empty() 当队列为空时,返回true
que.size() 返回队列的长度
*优先队列(priority)<queue>
关联式容器
集合(set)<set>*多冲集合(multiset) <set>
映射(map) <map> 由{键,值}对组成的集合
根据键值自动排序,不允许有相同的键值。
可以通过键值来对实值进行赋值。
头文件#include<int>map;
创建map对象:map<int>ma;
map中不能用容器访问first和second,这两个元素是针对与pair类型的,所以应该是用迭代器指向一个元素,然后采用运算符->访问。
ma.clear() 清空所有元素
ma. empty() 判断是否为空,为空返回true(返回bool类型)
ma. max_size() 返回可以容纳的最大元素个数
ma. rbegin() 返回一个指向map尾部的逆向迭代器
ma.rend() 返回一个指向map头部的逆向迭代器
ma.size() 返回map中的元素的个数
- stl
- stl
- STL
- STL
- STL
- STL
- STL
- STL
- STL
- stl
- STL
- STL
- STL
- STL
- STL
- STL
- STL
- STL
- 【数据结构】:排序--选择排序
- 重装ubuntu14.04
- java面向对象的继承以及方法重写和重载
- 解决ajax无法给外部变量赋值
- 在不开启事件循环的线程中使用QTimer
- STL
- Spring Security 4.x 启用CSRF防御后logout只能是POST请求
- swift3.0基础知识脑图03
- spring中使用parent属性来减少配置
- 算法训练 最小乘积(基本型)
- 初级前端工程师面试题(网上收集的总结)
- mysql忘记root密码
- Swift3.0基础知识脑图04
- Spring框架中获取连接池的四种方式