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