C++ STL容器总结 序列式

Vector容器
vector容器是最简单的序列式容器,支持随机访问,随机存储。
类似动态数组,将元素置于动态数组
vector可以实现队列,数组,堆栈的全部的功能

vector定义:vector vec;

vector函数:size()统计容器元素数量
capacity()返回容器最大可容纳的元素数量
reserve()预先设置容器的大小
resize()修改容器的大小
empty()判断容器是否为空
clear()清空容器中所有元素
front()返回容器中第一个元素
back()返回容器中最后一个元素
at(i)返回容器中第i-1个元素
push_back() 将元素插入容器尾部
insert()在任意位置插入
pop_back() 删除容器尾部的元素
erase(begin(),end())删除begin 到 end的元素
swap()元素交换位置

List容器
list由双向链表实现,每个节点存储一个元素,支持在两个方向操作,插入删除的速度迅速,查找速度较慢,不支持随机存取,无下标操作符和at()函数

创建list:
list a 创建一个空的list
list a(size)创建一个容量为size的list
list a(size,value)l创建一个容量为size值为value的list
list a(b)创建一个list,元素和list b一样

list的特殊函数
merge()将两个list合并成一个list并按从小到大的顺序排列 L1.merge(L2) 将L2合并至L1
remove(a)删除list中所有的元素a
splice(iterator a,list& x)将list x插入a的后面
splice(iterator a,list &x,iterator b)将list x 的b开始插入a的后面
splice(iterator c,list&x,iterator a,iterator b)将x的a到b位置的所有元素插入c的后面
unique()删除重复的元素,只保留一个
reverse()将容器中所有的元素反向排序

deque容器
deque是双端队列, 采用动态数组来管理元素,随机存取,频繁在两端插入和删除效率高,在中间插入删除效率低,迭代器是智能指针,不支持对容器的重分配,多块内存存取,当一块内存不使用则会释放

创建deque

deque a 创建一个空的deque
deque a(size)创建一个容量为size的deque
deque a(size,value)l创建一个容量为size值为value的deque
deque a(b)创建一个deque,元素和dequeb一样
deque a(b.begin(),b.end())创建一个deque,元素为b.begin(),b.end()的元素

deque的特殊函数
push_back() 尾插
pop_back()尾删
push_front()头插
push_front()头删
assign()重置deque中某个元素的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值