上一页 1 2 3 4 5 6 7 8 ··· 43 下一页
摘要: 交换函数,可以避免精度损失。 c++11之前,swap参数列表中其实是赋值操作 由于拷贝构造函数和赋值运算符包含内存拷贝操作,而这样的操作共执行了三次,所以在一个swap中一共存在三次内存拷贝的操作。这种不必要的内存操作很多情况下都会影响C++的执行效率。 C++11之后的swap引入了右值引用和数 阅读全文
posted @ 2019-09-03 14:37 Austin_anheqiao 阅读(323) 评论(0) 推荐(0) 编辑
摘要: #include < unordered_map > map: map内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二叉搜索树),红黑树具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素。因此,对于map进行的查找,删除,添加等 阅读全文
posted @ 2019-09-01 15:59 Austin_anheqiao 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 序列容器是管理数据的宝贵工具,但对大多数应用程序而言,序列容器不提供方便的数据访问机制。一种典型的方法是通过名称来寻找地址。如果记录保存在序列容器中,就只能通过搜索得到这些数据。相比而言,map 容器提供了一种更有效的存储和访问数据的方法。 map 容器是关联容器的一种。在关联容器中,对象的位置取决 阅读全文
posted @ 2019-09-01 15:56 Austin_anheqiao 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 堆(heaps)不是容器,而是一种特别的数据组织方式。堆一般用来保存序列容器。 堆是一个完全二叉树,每个节点与其子节点位置相对。父节点总是大于或等于子节点,这种情况下被叫作大顶堆,或者父节点总是小于或等于子节点,这种情况下叫作小顶堆。注意,给定父节点的子节点不一定按顺序排列。 创建堆 用来创建堆的函 阅读全文
posted @ 2019-09-01 15:13 Austin_anheqiao 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 只能访问 stack 顶部的元素;只有在移除 stack 顶部的元素后,才能访问下方的元素。 堆栈操作 top():返回一个栈顶元素的引用,类型为 T&。如果栈为空,返回值未定义。 push(const T& obj):可以将对象副本压入栈顶。这是通过调用底层容器的 push_back() 函数完成 阅读全文
posted @ 2019-09-01 14:58 Austin_anheqiao 阅读(155) 评论(0) 推荐(0) 编辑
摘要: #include <queue> priority_queue 容器适配器定义了一个元素有序排列的队列。默认队列头部的元素优先级最高。因为它是一个队列,所以只能访问第一个元素,这也意味着优先级最高的元素总是第一个被处理。但是如何定义“优先级”完全取决于我们自己。 priority_queue<Typ 阅读全文
posted @ 2019-09-01 14:55 Austin_anheqiao 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 只能访问 queue<T> 容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。 操作 front():返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。 back():返回 queue 中最后一 阅读全文
posted @ 2019-09-01 14:51 Austin_anheqiao 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 容器适配器是一个封装了序列容器的类模板,它在一般序列容器的基础上提供了一些不同的功能。之所以称作适配器类,是因为它可以通过适配容器现有的接口来提供不同的功能。 这里有 3 种容器适配器: 适配器类在基础序列容器的基础上实现了一些自己的操作,显然也可以添加一些自己的操作。它们提供的优势是简化了公共接口 阅读全文
posted @ 2019-09-01 14:47 Austin_anheqiao 阅读(182) 评论(0) 推荐(0) 编辑
摘要: array<T,N>(数组容器)是一个长度固定的序列,有 N 个 T 类型的对象,不能增加或删除元素。 vector<T>(向量容器)是一个长度可变的序列,用来存放 T 类型的对象。必要时,可以自动增加容量,但只能在序列的末尾高效地增加或删除元素。 deque<T>(双向队列容器)是一个长度可变的、 阅读全文
posted @ 2019-09-01 14:45 Austin_anheqiao 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 单链表的形式存储元素。forward_list 的模板定义在头文件 forward_list 中。fdrward_list 和 list 最主要的区别是:它不能反向遍历元素;只能从头到尾遍历。 forward_list 的单向链接性也意味着它会有一些其他的特性: 无法使用反向迭代器。只能从它得到co 阅读全文
posted @ 2019-09-01 14:42 Austin_anheqiao 阅读(192) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 43 下一页