摘要: 一、概述 map 由红黑树实现,其元素都是 “键值/实值” 所形成的一个对组(key/value pairs)。每个元素有一个键,是排序准则的基础。每一个键只能出现一次,不允许重复。 map主要用于资料一对一映射的情况,map 内部自建一颗红黑树,这颗树具有对数据自动排序的功能,所以在 map 内部 阅读全文
posted @ 2019-01-12 22:21 fengMisaka 阅读(4810) 评论(0) 推荐(2) 编辑
摘要: 一、概述 set 容器内的元素会被自动排序,set 与 map 不同,set 中的元素即是键值又是实值,set 不允许两个元素有相同的键值。不能通过 set 的迭代器去修改 set 元素,原因是修改元素会破坏 set 组织。当对容器中的元素进行插入或者删除时,操作之前的所有迭代器在操作之后依然有效。 阅读全文
posted @ 2019-01-12 21:01 fengMisaka 阅读(30335) 评论(1) 推荐(11) 编辑
摘要: 一、概述 list 由双向链表(doubly linked list)实现而成,元素也存放在堆中,每个元素都是放在一块内存中,他的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随机存取变得非常没有效率,因此它没有提供 [] 操作符的重载。但是由于链表的特点,它可以很有效率的支持任 阅读全文
posted @ 2019-01-12 18:37 fengMisaka 阅读(16731) 评论(0) 推荐(3) 编辑
摘要: 一、概述 deque(双端队列)是由一段一段的定量连续空间构成,可以向两端发展,因此不论在尾部或头部安插元素都十分迅速。 在中间部分安插元素则比较费时,因为必须移动其它元素。 二、定义及初始化 使用之前必须加相应容器的头文件: #include <deque> // deque属于std命名域的,因 阅读全文
posted @ 2019-01-12 16:18 fengMisaka 阅读(41035) 评论(5) 推荐(14) 编辑
摘要: 一、概述 vector(向量): 是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组(动态数组),它的随机访问快,在中间插入和删除慢,但在末端插入和删除快 阅读全文
posted @ 2019-01-12 14:31 fengMisaka 阅读(5775) 评论(3) 推荐(1) 编辑
摘要: 一、迭代器(iterator)介绍 指针可以用来遍历 存储空间 连续的数据结构,但是对于存储空间非连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。因此,我们引入迭代器概念。 迭代器(Iterator)是一种检查容器内元素并遍历元素的数据类型。迭代器是指针的泛化,它允许程序员用相 阅读全文
posted @ 2019-01-12 00:03 fengMisaka 阅读(5493) 评论(0) 推荐(0) 编辑