随笔分类 -  C++STL

这里是与C++STL相关的知识
摘要:pair class pair可将两个value视为一个单元。C++标准库内多处都用到了这个class,比如容器map,multimap,unordered_map等,任何函数如果需要返回两个value,也需要用到pair,比如minmax()等。 class pair的完整功能定义于头文件 由上述 阅读全文
posted @ 2019-03-02 11:51 BT-7274 阅读(1581) 评论(0) 推荐(0)
摘要:自C++11起,我们就可以使用一个range-based for循环来处理所有的元素。这使人们意识到,我们需要一个”能够迭代某序列(sequence)内所有元素”的对象,这个对象就是迭代器,你也可以理解为,通过迭代器这个对象,可以表现出容器元素的位置。 迭代器的功能 1.指向容器中的元素,类似于指针 阅读全文
posted @ 2019-03-02 10:54 BT-7274 阅读(463) 评论(0) 推荐(0)
摘要:forward list简介 forward list内部以singly linked来管理元素,也可以称为单向链表,它是一个行为受限的list,不能走回头路。创建的宗旨在于“我们希望forward_list和你自己手写的C-style singly linked list 相较之下没有任何空间或时 阅读全文
posted @ 2019-03-01 20:54 BT-7274 阅读(695) 评论(0) 推荐(0)
摘要:list简介 list又称链表,使用一个double linked list(双向串列)来管理元素,它具有不完全的双向链表的功能。 使用条件: 包含头文件 list类型定义于namespace std中,是个class template: list的元素可以是任意类型T,第二个template实参可 阅读全文
posted @ 2019-03-01 10:01 BT-7274 阅读(903) 评论(0) 推荐(0)
摘要:deque简介 deque属于序列式容器,和vector十分相似,采用dynamic array来管理元素,提供随机访问,但是deque的dynamic array头尾两端都开放,可以在头尾两端快速安插和删除。 为了提供这种能力,deque通常实现为一组独立区块,第一区块朝某方向发展,最末区块朝另一 阅读全文
posted @ 2019-02-28 00:40 BT-7274 阅读(857) 评论(0) 推荐(0)
摘要:map与multimap基本性能 map和multimap属于关联式容器,它们将key/value pair当作元素进行管理,会根据key的排序准则自动为元素排序。和其他所有关联式容器一样,map/multimap通常以平衡二叉树完成。map/multimap的特点在于其元素是key/value p 阅读全文
posted @ 2019-02-27 16:44 BT-7274 阅读(471) 评论(0) 推荐(0)
摘要:在介绍排序算法前,先说明一个可以称为排序准则的东西,也就是定义strict weak ordering,其意义如下: 1.必须是非对称的,对operator < 而言,如果x<y是true,则y<x为false。对判断式op()而言,若op(x,y)为true,则op(x,y)为false。 2.必 阅读全文
posted @ 2019-02-26 01:42 BT-7274 阅读(3109) 评论(0) 推荐(0)
摘要:vector简介 vector模塑出一个dynamic array,即动态数组。它本身是一个 “将元素置于dynamic array加以管理的抽象概念”,属于序列式容器。 使用条件: 包含头文件 在此头文件中,类型vector是一个定义与namespace std 内的template: vecto 阅读全文
posted @ 2019-02-25 21:17 BT-7274 阅读(295) 评论(0) 推荐(0)
摘要:在了解priority_queue(优先队列)前,可以先去瞅瞅queue,下面是传送门啦>——< 传送门 priority_queue的基本性能 class priority_queue<>实现出一个queue,只不过其中的元素依照优先级被读取。priority_queue的接口与queue非常相近 阅读全文
posted @ 2019-02-18 10:41 BT-7274 阅读(364) 评论(0) 推荐(0)
摘要:queue的基本性能 queue是一个典型的数据缓冲构造,class queue<>实现出一个queue(也称FIFO[先进先出])。通俗的来说,就是一个线性表,你只能从尾部插入元素,而取出元素的操作则只能从首部进行,就像银行排队一样,办理业务只能从队首的人开始办,而新来的人则只能站在队尾等待。 q 阅读全文
posted @ 2019-02-12 23:30 BT-7274 阅读(2512) 评论(0) 推荐(0)
摘要:stack的基本性能 stack准确的说并不是STL framework所提供的容器,而是一个为了满足特殊需求而设计的容器。属于容器适配器(container adapter),它提供了简单而清晰的接口满足我们对数据结构堆栈的需求。 对于stack(也称LIFO,后进先出),我们可以使用 push( 阅读全文
posted @ 2019-01-31 21:37 BT-7274 阅读(621) 评论(0) 推荐(0)
摘要:set和multiset基本性能 set和multiset属于关联式容器,会根据特定的排序原则,将内部元素自动排序,通常以红黑树完成,(保证了到达某一元素的最长路径的深度至多是最短路径的深度的两倍)。 自动排序的优点在于其查找函数具有对数复杂度,在小数据量(元素数量<=1000)的情况下二叉树查找动 阅读全文
posted @ 2019-01-30 21:27 BT-7274 阅读(513) 评论(1) 推荐(0)