随笔分类 -  STL

STL
摘要:C++ STL 常用算术和生成算法 accumulate() accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值。 #include<numeric> vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push_ 阅读全文
posted @ 2017-11-06 15:41 lsgxeva 阅读(402) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用拷贝和替换算法 copy() 复制 vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push_back(3); vecIntA.push_back(5); vecIntA.push_back(7); vecIntA.push_ 阅读全文
posted @ 2017-11-06 15:35 lsgxeva 阅读(2546) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用排序算法 merge() 以下是排序和通用算法:提供元素排序策略 merge: 合并两个有序序列,存放到另一个序列。 例如: vecIntA,vecIntB,vecIntC是用vector<int>声明的容器, vecIntA已包含1,3,5,7,9元素, vecIntB已包含2 阅读全文
posted @ 2017-11-06 15:29 lsgxeva 阅读(649) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用查找算法 adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器。否则返回past-the-end。 vector<int> vecInt; vecInt.push_back(1); vecInt.pu 阅读全文
posted @ 2017-11-06 15:24 lsgxeva 阅读(901) 评论(0) 推荐(0) 编辑
摘要:STL 算法中函数对象和谓词 函数对象和谓词定义 函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对 阅读全文
posted @ 2017-11-06 13:20 lsgxeva 阅读(725) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离 2) STL的迭代器技术实现了遍历容器的统一方法;也为STL的算法提供了统一性奠定了基 础 3) STL的算法,通过函数对象实现了自定义数据类型的算法运算;所以说:STL的 阅读全文
posted @ 2017-11-06 13:19 lsgxeva 阅读(4559) 评论(0) 推荐(0) 编辑
摘要:STL 算法介绍 算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成。 <algorithm>是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、 交换、查找、遍历操作、复制、修改、反转、排序、合并等等。 <numeric>体积很小,只 阅读全文
posted @ 2017-11-06 02:19 lsgxeva 阅读(3604) 评论(0) 推荐(0) 编辑
摘要:STL Map和multimap 容器 map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对。它提供 基于key的快速检索能力。 map中key值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序 规则插入,所以不能指定插入位置。 阅读全文
posted @ 2017-11-06 01:55 lsgxeva 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:STL Set和multiset 容器 set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。 元素插入过程是按排序规则插入,所以不能指定插入位置。 set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树。在插入操作和删除操 作上比vecto 阅读全文
posted @ 2017-11-06 01:24 lsgxeva 阅读(392) 评论(0) 推荐(0) 编辑
摘要:STL Queue 容器 Queue简介 queue是队列容器,是一种“先进先出”的容器。 queue是简单地装饰deque容器而成为另外的一种容器。 #include <queue> queue对象的默认构造 queue采用模板类实现, queue对象的默认构造形式: queue<T> queT 阅读全文
posted @ 2017-11-06 00:55 lsgxeva 阅读(317) 评论(0) 推荐(0) 编辑
摘要:STL stack 容器 Stack简介 stack是堆栈容器,是一种“先进后出”的容器。 stack是简单地装饰deque容器而成为另外的一种容器。 #include <stack> stack对象的默认构造 stack采用模板类实现, stack对象的默认构造形式: stack <T> stkT 阅读全文
posted @ 2017-11-06 00:48 lsgxeva 阅读(219) 评论(0) 推荐(0) 编辑
摘要:STL Deque 容器 Deque简介 deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双 端的,而vector是单端的。 deque在接口上和vector非常相似,在许多操作的地方可以直接替换。 deque可以随机存取元素(支持索引值直 阅读全文
posted @ 2017-11-06 00:38 lsgxeva 阅读(487) 评论(0) 推荐(0) 编辑
摘要:c++11 List 容器 List简介 list是一个双向链表容器 可高效地进行插入删除元素。 list不可以随机存取元素,所以不支持at(pos)函数与[]操作符。 #include <list> list对象的默认构造 list采用采用模板类实现 对象的默认构造形式: list<T> lstT 阅读全文
posted @ 2017-11-06 00:17 lsgxeva 阅读(1606) 评论(0) 推荐(0) 编辑
摘要:STL Vector容器 Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器。 vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲)。 vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时 头文件:#i 阅读全文
posted @ 2017-11-05 23:50 lsgxeva 阅读(956) 评论(0) 推荐(0) 编辑
摘要:STL 容器的概念 在实际的开发过程中,数据结构本身的重要性不会逊于操作于数据结构的算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要。 经典的数据结构数量有限,但是我们常常重复着一些为了实现向量、链表等结构而编写的代码,这些代码都十分相似,只是为了适应不同数据的变化而 阅读全文
posted @ 2017-11-05 22:41 lsgxeva 阅读(975) 评论(0) 推荐(0) 编辑
摘要:STL 基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。现在是一个C++软件库,也是C++标准程序库的一部分,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:algorithm(算法)、co 阅读全文
posted @ 2017-11-05 22:17 lsgxeva 阅读(369) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示