摘要: 容器适配器并没有直接维护被控序列,而是通过它里面存储的底层容器对象来实现所有的功能。 queue类允许在底层数据结构的末尾插入元素,也允许从前面插入元素(先入先出)。 包含头文件 #include<queue> 声明命名空间 using namespace std; 常见的queue操作: 1.vo 阅读全文
posted @ 2018-05-01 21:58 Mr.jason冯 阅读(110) 评论(0) 推荐(0)
摘要: 包含头文件 #include <map> 声明命名空间using namespace std; map/multimap是关联容器的一种,每个节点中存储一个类型为pair<const Key,T>的元素,它们会对存储的元素进行自动排序,只有const Key参与存储的次序比较,存储元素的值不能直接的 阅读全文
posted @ 2018-05-01 21:40 Mr.jason冯 阅读(143) 评论(0) 推荐(0)
摘要: 包含头文件 #include <set> 声明命名空间using namespace std; set/multiset是关联容器的一种,它们会对存储的元素进行自动排序,存储元素的值不能直接的被改变,只能通过删除旧值,再插入新值的方式达到更改元素值的目的。set不允许元素的值有重复,而multise 阅读全文
posted @ 2018-05-01 20:40 Mr.jason冯 阅读(149) 评论(0) 推荐(0)
摘要: deque 即双端队列,全名double-ended queue。是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在序列的两端进行。这两端分别称做端点1和端点2。在实际使用中,还可以有输出受限的双端队列(即一个端点允许插入和删除,另一个端点只允许插入的双端队列 阅读全文
posted @ 2018-04-19 13:43 Mr.jason冯 阅读(254) 评论(0) 推荐(0)
摘要: 模板类list是一个容器,所控制的长度N的序列是一个有着N个节点的双向链表。每个节点存储一个单独的元素,一个前驱指针,一个后继指针。list的节点存储在非连续的存储空间中,由于其结构的原因,list的插入、删除、替换等操作速度很快,但元素的查找和随机存取等操作就很慢,需要从头节点一个节点一个节点的往 阅读全文
posted @ 2018-04-16 22:51 Mr.jason冯 阅读(196) 评论(0) 推荐(0)
摘要: 模板类vector是一个封装了动态大小数组的顺序容器,它所控制的序列是以连续数组的方式存储的。跟任意其它类型容器一样,它能够存放各种类型的对象。 包含头文件#include <vector> 声明命名空间using namespace std; 特性: 1)顺序序列:容器中的元素按照严格的线性顺序排 阅读全文
posted @ 2018-04-15 00:38 Mr.jason冯 阅读(160) 评论(0) 推荐(0)
摘要: #include <algorithm> algorithm头文件中主要包含的是一大堆模板函数,即STL库提供的算法,可以认为每个函数在很大程度上是独立的。提供的算法种类有: 1)adjacent_find //检测区间内第一对相等的相邻元素 template<class FwIt> FwIt ad 阅读全文
posted @ 2018-04-12 11:34 Mr.jason冯 阅读(401) 评论(0) 推荐(0)
摘要: #include <utility> pair模板类用来将两个对象表示成一个对象。 用途:1)想要函数同时返回两个参数; 2)想要用一个容器存储成对值的元素 pair模板类核心代码: #ifndef _UTILITY_#define _UTILITY_#include <iosfwd> // 结构体 阅读全文
posted @ 2018-04-01 17:44 Mr.jason冯 阅读(2831) 评论(0) 推荐(0)
摘要: 该文转载自http://www.cnblogs.com/morewindows/archive/2011/08/26/2154198.html,感谢博主。 在C++中,静态成员是属于整个类的而不是某个对象,静态数据成员实际上是类域中的全局变量。所以在所有对象中都可以共享它。使用静态成员变量实现多个对 阅读全文
posted @ 2018-03-31 16:48 Mr.jason冯 阅读(343) 评论(0) 推荐(0)
摘要: 首先要明白为什么要重载运算符,其意义何在: 1)我们知道C++的基本数据类型,比如int,都支持 “+ ” “-” “ *” “ /” 操作,但是对于我们自定义的类型(类)的对象,并不支持这些运算符操作,重载运算符就是为了让我们自定义的类型的对象间也支持这些运算符操作。 2)C++不允许程序员自定义 阅读全文
posted @ 2018-03-31 15:03 Mr.jason冯 阅读(141) 评论(0) 推荐(0)