STL
小杨树林
新的开始-记录工作中的所学所思所想
展开
-
Vector
Vector一 理论: 1.扩充空间(不论多大)都应该这样做:(1) 配置一块新空间(2) 将旧元素一一搬往新址(3) 把原来的空间释放还给系统2.vector 的数据安排以及操作方式,与array 非常相似。两者的唯一差别在于空间的利用的灵活性。Array 的扩充空间要程序员自己来写。 二 实际应用:1.Vector 的数据成员:Protected: Iterator start;...原创 2018-03-29 18:19:46 · 130 阅读 · 0 评论 -
List
List一. 理论:STL list 是一个双向链表,迭代器具备前移和后移的能力。list 有一个重要的性质:插入操作和结合操作会造成原有的迭代器失效。应用时应该用<list>二. 实际应用: 1. 以下操作同vector List<int> list;Ilist.push_back(0);Ilist.begin();Ilist.end();Ilist.insert();I...原创 2018-03-29 18:24:14 · 189 阅读 · 0 评论 -
Map
Map一. 理论:1. Map 的特性是,所有元素都会根据元素的键值自动被排序,map的所有元素都是pair,同时拥有实值(value)和键值(key)。Pair的第一元素被视为键值,第二元素被视为实值。Map 不允许两个元素拥有相同的键值。2. map 的键值关系到map的元素的排列规则,任意改变map元素键值将严重破坏map的组织。所以不可以通过map 的迭代器来改变map 的键值。但是可以通...原创 2018-03-29 18:36:02 · 1262 阅读 · 0 评论 -
Set
Set一. 理论:1. Set的特性是,所有元素都会根据元素的键值自动被排序,Set 的元素不像Map那样可以同时拥有实值和键值,Set 元素的键值就是实值,实值就是键值。Set 不允许两个元素有相同的键值。2. 因为Set 元素值就是其键值,关系到 Set 元素的排列规则。如果任意改变Set 的元素值,会严重的破坏Set组织。一. 实际应用:1. 初始化可以定义一个数组,将数组直接赋值给Set的...原创 2018-04-21 22:44:44 · 124 阅读 · 0 评论