STL容器使用语法总结

STL容器主要有序列式容器和关联式容器以及一些衍生而来容器配接器
序列式容器:vector、deque、list
关联式容器:set、map
常见配接器:stack、queue
下面分别对其进行介绍

一. vector

1. 特点

(1) 数组的升级版,可以动态管理内存。当容量不足时,会开辟一个新的空间,将数据拷贝过去,再释放原空间。

(2) 当删除元素时,不会释放对应的空间,所以向量容器的容量(capacity)一般大于向量容器的大小(size);

(3) 对于删除或插入操作,执行效率不高,越靠后插入或删除执行效率越高;

(4) 高效的随机访问的容器,适用于插入和删除操作较少的场景。

2.创建对象

#include<vector>
vector<int>v              //默认创建,此时无法使用索引插入元素
vector<int> v(10)          //指定大小创建,默认初始化为0
vector<int> v(10,2)        //创建的同时初始化(十个元素,值都为2)
vector<int> v{1,3,5,7,9}  //可以随意指定元素个数及元素的值

3. 常用接口

v.capacity()             //查询容器容量
v.size()                 //查询容器内元素个数
v.push_back(5)           //在尾部插入元素
v.pop_back()             //删除尾部元素
v[i]                     //注意下标不可以越界
v.front()                //获取第一个元素
v.end()                  //获取最后一个元素
v.begin()				 //返回容器头部迭代器
v.end()					 //返回容器尾部迭代器
v.insert(pos,num)        //在指定位置插入元素
v.insert(pos,n,num)      //在指定位置插入n个元素num
reverse(iter1,iter2)     //将两个迭代器间的元素反转

二. deque

1. 特点

具有分段数组和索引数组,其中分段数组用来存储数据,索引数组用来存储每个分段的首部地址。支持下标访问,与vector相比支持快速的两端的插入和删除,同样存在中间位置插入删除较为复杂的问题。

2. 创建对象

#include<deque>
deque<int> dq        //默认创建,此时无法进行下标相关的操作
deque<int> dq(10)     //指定对象的大小(元素数量)

3. 常用接口

dp[i]                     //返回第i个元素
dq.front()                //返回第一个元素
dp.back()                 //返回最后一个元素
dp.begin()                //返回首部迭代器
dp.end()                  //返回尾部迭代器
dp.push_back(5)           //尾部插入元素
dp.push_front(5 )         //首部插入元素
dp.insert(pos,nums)       //在pos处插入元素       

三. List

1.特点

2.创建

#include<list>
deque<int> l             //默认创建,此时无法进行下标相关的操作
deque<int> l(10)        //指定对象的大小(元素数量)

3.常用接口

l.front()                    //返回第一个元素
l.back()                    //返回最后一个元素
l.begin()                   //返回首部迭代器
l.end()                     //返回尾部迭代器
l.push_back(int*)           //尾部插入元素
l.push_front(int*)         //首部插入元素
l.insert(pos,int*)         //在pos处插入元素 

四. set

五. map

六. stack

七. queue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值