STL
玛卡菠萝
芝士世界的我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STL —— 取反器
1.取反器的作用 : 给现有的 函数对象 逻辑取反 not1给一元函数对象取反 not2给二元函数对象取反 下面通过一段代码具体了解取反器 #include <iostream> #include <functional> #include <algorithm> #include <vector> using namespace...原创 2019-05-01 13:54:24 · 1407 阅读 · 0 评论 -
容器适配器 —— stack:栈 queue:队列 priority_queue:优先级队列
适配器:使一种事物的行为类似于另外一种事物行为的一种机制 容器适配器:没有自己的数据结构,底层调用其它容器的数据结构,对容器进行包装,使其表现出另外一种行为 标准库提供了三种顺序容器适配器:stack(栈:先进后出) queue(队列:先进先出) priority_queue(优先级队列:按照优先级(“<”号)排序) ,不支持迭代器 使用容器适配器需要的头文件有:...原创 2019-04-30 17:41:34 · 427 阅读 · 0 评论 -
关联容器 —— set、multiset、map、multimap
关联容器 :底层都是用红黑树(二叉排序树、平衡树)实现,前序遍历(左中右)排列有序,即根节点的左子树最小,右子树最大 红黑树插入方式:给红黑树插入节点1、2、3、4时。 先开辟一个节点,插入1,左子树和右子树为空;再构造2的节点(即再开辟一个节点,插入2)(如图1所示);要以前序遍历排列有序,将2和1进行比较,2大,进行树调整(如图2所示);再构造3的节点,不进行树调整,直接插入进去(如...原创 2019-04-27 21:29:29 · 337 阅读 · 0 评论 -
顺序容器 —— deque
deque底层是映射容器(分为映射区域 map和缓冲区域 一维数组)或二维数组 deque 作为双向队列容器,支持前插和后插 刚开始时,front 和 back 这两个指针肯定指向同一块区域 思考 ?哪块区域?起始 中间 末尾 如果放在起始部分,进行前插,导致元素没地方插,需要扩容,浪费空间(放在末尾也一样) 所以应放在中间。如果前插一个数据,front 指针前挪...原创 2019-04-27 21:05:23 · 501 阅读 · 0 评论 -
顺序容器 —— list
list:双向循环链表 针对每个节点都是 struct ,里面是两个指针和一个数据 针对 list 类中应有一个 struct* node 头指针指向节点(找到链表) #include <iostream> #include <list> //list 头文件 #include <iterator> //迭代器头文件 using namespace...原创 2019-04-27 20:45:44 · 291 阅读 · 0 评论 -
顺序容器——vector
#include <iostream> #include <vector> #include <iterator> //迭代器头文件 #include <algorithm> //泛型算法头文件 using namespace std; int main() { //使用库中的 vector int arr[] = {1,24,62,63...原创 2019-04-27 20:33:21 · 666 阅读 · 0 评论
分享