STL实现

本文深入探讨STL(Standard Template Library)的六大组件,包括空间配置器、迭代器、序列式容器如vector、list、deque等的详细实现和操作。同时介绍了关联式容器如map、set的底层数据结构RB树,以及算法、仿函数和适配器的使用。通过对STL各个部分的讲解,帮助读者全面理解C++ STL的工作原理和应用。
摘要由CSDN通过智能技术生成

1.STL的六大组件


2.空间配置器(allocator)


3.迭代器及实现(trait编程技术)


4.序列式容器(vector(动态数组),list(双端链表) ,deque,stack,queue,priority_queue,slist)及其每个容器相应的迭代器类型。

vector:内存如何分布及其特点,迭代器类型,每个成员函数的调用过程(begin,end,size,capcity,empty,front,back,push_back,pop_back,erase,resize,insert)


list:node节点构造,迭代器类型,list的数据结构环状队列,包含一个空白节点,表示终止,每个成员函数的使用过程(begin,end,list()产生空链表,其实产生一个空白节点,push_back(),insert, push_front,  erase ,   pop_front,   pop_back,   clear,    remove ,    unique,    splice ,    merge,   reverse,   sort)。其中merge将一个链表融合,需要两个链表都是排序好的。(merge,sort,reverse 都利用了内部函数transfer)


deque:内存构造及其特点,deque的中继器(通过一个指针数组来指向每一段连续内存地址(缓冲区)),deque有一个数据成员map,为T**,deque的迭代器,该迭代器成员有,指向每段缓冲区头,尾,当前内存,以及指向map与中继器关联,(T* cur,T* begin,T* end, T** map)还需注意deque迭代器实现许多操作符重载(*,-》,+,-,++,--,[],....),deque 内的数据成员,iterator start,iterator finish,T** map, int map_size,故,deque成员函数的实现过程(begin(),end(),front(),back(),size())注意deque内存细节,构造,插入,删除&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值