STL之序列式容器

本文介绍了STL中的序列式容器,包括vector、list和deque。vector是一个线性连续空间,支持尾部插入和删除;list是循环双向链表,其插入操作不会使迭代器失效;deque是双端队列,允许在两端进行快速插入和删除,其内部通过map结构管理不连续的存储空间。
摘要由CSDN通过智能技术生成

STL大致分类:
(1)容器
序列式容器:vector(向量容器)、deque(双端队列)、list(双向列表)
关联式容器:集合(set、multiset)、映射(map、multimap)
容器适配器:stack、queue、priority_queue
(2)迭代器
Input iterator、Output iterator、Forward iterator、Bidirectional iterator、Random iterator
(3)泛型算法
(4)仿函数(函数对象)
绑定器:bind1st、bind2nd
取反器:not1、not2
(5)空间配置器

这里先看一下,序列式容器@.@(推眼镜)
(1)、vector向量容器
vector的数据结构:线性连续空间

template<class T,class Alloc = alloc>
class vector
{
...
protected:
iterator start;    //表示目前使用空间的头
iterator finish;   //表示目前使用空间的尾
iterator end_of_storage;    //表示目前可用空间的尾
}

这里写图片描述
运用这三个迭代器可以轻便的提供首尾标识、首尾元素值、容量、大小、空容器判断、下标运算[ ]

template<class T,class Alloc = alloc>
class vector
{
    ...
    public:
    iterator begin() {
  return start;}
    iterator end() {
  return finish;}
    size_type size() const {
  return size_type(end()-begin());}
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值