- 博客(16)
- 收藏
- 关注
转载 STL学习记录(八)Sets、Multisets
STL关联容器Set、Multiset Set、Multiset简介 Set和Multiset会依据一定的排序准则自动的将容器里面的元素进行排序。这也就表明关联容器与顺序容器的一个最大不同就是元素的顺序与元素插入容器的先后无关。set、multiset的不同在于前者不允许容器内部...
2015-10-06 17:06:00
93
转载 STL学习记录(五):Deque
STL顺序容器Deque Deque简介 Deque其实就是数据结构中的双端队列,与Vector类似它是一个支持随机访问的顺序容器。但是比Deque更强大的是它支持在队头和队尾快速的插入和删除元素。Deque通常以动态数组的形式实现,这保证了元素访问可以在常数时间内完成,并且在队...
2015-10-06 17:06:00
57
转载 STL学习记录(六):List
STL顺序容器List List简介 List容器通过双向链表的形式来管理容器里的元素。这种方式表明他与Vector、Deque容器的不同。首先List不支持元素的随机访问,例如:你要访问第五个元素你必须先访问之前的四个。其次List的插入和移除操作更快。因为不需要移动元素它在任...
2015-10-06 17:06:00
52
转载 STL学习记录(十一):修改类算法
STL算法 在前面对于算法已经简要的说明了一下。后面几个部分我会对于算法的详细内容进行更一步的介绍。这篇博客主要记录算法中的主要类别之一的修改类(可能这种区分不严谨,不要太钻牛角尖)。 修改类算法 修改类算法主要的特征是算法中涉及的元素的值可能会发生改变(可能是元素本身也有可...
2015-10-06 17:06:00
117
转载 STL学习记录(九)Maps、Multimaps
STL关联容器Map、Multimap Map、Multimap容器简介 map、multimap中的元素是以一对key/value值的形式存在。容器中元素的顺序与根据自动排序准则对key值进行排序后的顺序一致。这两个容器的不同之处在于:前者key值必须唯一,不需要出现相同key...
2015-10-06 17:06:00
88
转载 STL学习记录(十二):非修改类算法
非修改类算法 顾名思义,与修改类算法相比这个类别的算法就是不会对元素的值或者元素之间的位置关系进行改变。这类算法主要就是包括:统计、最大值、最小值、查找等常见的操作。主要的算法与代码示例如下: 操作 说明 ...
2015-10-06 17:06:00
61
转载 STL学习记录(十六):Queue、Priority Queue
STL中的特殊容器Queue、Priority Queue 与前面的Stack一样,Queue、Priority Queue也是以容器适配器的形式实现的。Queue的特点是数据结构中的队列中的特点FIFO。主要操作 就是在队首和队尾。Priority Queue与Queue基本上是...
2015-10-06 17:06:00
50
转载 STL学习记录(十三):排序类算法及基于排序的算法
排序类算法及基于排序的算法 这部分主要介绍常用的排序算法和基于排序的算法。 排序类算法 STL中提供里提供了很多种排序算法,包括了全局排序以及部分排序。这里需要注意的是排序算法需要能够随机访问范围内的元素, 所以标准库中list、associative containers...
2015-10-06 17:06:00
75
转载 STL学习记录(十四):其它几种算法
其它几种算法Paritition、Heap、Min/Max 在介绍前面几种算法后,剩下的几种算法将在这一部分集中介绍。Partition算法主要是根据定义的规则,将范围内的元素分为两部分。 Heap算法主要是关于堆部分的算法。而Min/Max类算法主要是关于数值部分的算法。算法说明...
2015-10-06 17:06:00
61
转载 STL学习记录(十五):Stack
STL中的特殊容器Stack 准确来说Stack是容器适配器类型,与我们数据结构中所学的概念一样这种容器的特性就是Last Input First Output。该容器通过push、 pop方法对栈头的元素进行操作。主要的成员函数如下: 成员函数 ...
2015-10-06 17:06:00
65
转载 STL学习记录(七):Forward List
STL顺序容器Forward List Forward List简介 Forward List容器在c++11标准之前是没有的,Forward List形如数据结构中的单链表结构,所有它的很多特点也由此决定。比如,在任意位置的插入与删除速度都很快,不支持元素的随机访问。与List...
2015-10-06 17:06:00
65
转载 STL学习记录(十):Iterator
STL之迭代器 STL迭代器Iterator 迭代器简介 迭代器Iterator是每个容器都有的。它的作用有点类型指针,标识着容器里的每一个元素。迭代器也有类型区别,不同类型的迭代器功能不同。例如排序算法中就要求迭代器的类型必须是支持随机访问的迭代器(RandomAccess...
2015-10-06 17:06:00
67
转载 STL学习记录(四):Vector
STL顺序容器Vector Vector简介 Vector 容器就像传统C语言里的动态数组一样。Vector将它的所有元素都复制到它内部的动态数组中。这些元素具有一定的相对顺序。所以,vector容器是顺序容器,它支持随机方式访问容器里面的元素。这样你就可以通过迭代器在一个常数的...
2015-10-06 17:03:00
84
转载 STL学习记录(三):算法基础简要
STL算法基础简要简单的算法实例算法中的范围(Ranges)简单的算法实例STL提供多种标准算法来处理容器中的数据,这些算法包括搜索、排序、拷贝、修改,重排等基本常用的操作。STL算法不是某个容器类的成员函数而是,通过迭代器操作的全局函数。这样的一个好处就是算法只需要实现一次,...
2015-10-06 17:02:00
65
转载 STL学习记录(二):迭代器简要
#STL迭代器(iterator)简要迭代器(iterator)类似于指针,能够通过它访问到它所指的元素。每个容器都有一些基本的函数让你能够获得迭代器并访问容器里的元素。begin() 返回容器中第一个元素的迭代器;end() 返回容器中最后一个元素所在位置的下一个位置而不是最后一个元素的位...
2015-10-06 16:55:00
60
转载 STL学习记录(一):STL简介
STL简介STL(The Stadard Template Librara)是C++学习中必须掌握的库。它提供了高效率的算来解决对一堆数据的管理,它让程序员能够直接获得数据结构和算法领域改进带来的好处,而不需要程序员去直接了解这些算法到底是怎么实现的。从程序员的角度来说,它提供了一系列应对...
2015-10-06 16:54:00
61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人