阿牧路泽

哪有那么多坚强,无非是死扛罢了
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理
上一页 1 2 3 4 5 6 ··· 24 下一页

2018年10月22日

摘要: 一、STL算法分类 STL中的算法大致可以分为以下七类: 不变序列算法 变值算法 删除算法 变序算法 排序算法 有序区间算法 数值算法 大多重载的算法都是有两个版本的 用 “==” 判断元素是否相等, 或用 “<”来比较大小。 多出一个类型参数 “Pred” 和函数形参 “Pred op” : 通过 阅读全文

posted @ 2018-10-22 15:22 阿牧路泽 阅读(192) 评论(0) 推荐(0) 编辑

摘要: 1、基本概念 适配器, 在STL中扮演着转换器的角色,本质上是一种设计模式,用于将一种接口转换成另一种接口,从而是原本不兼容的接口能够很好地一起运作。适配器不提供迭代器。 2、基本类型 根据目标接口的类型,适配器可分为以下几类: (1) 改变容器的接口,称为容器适配器; (2)改变迭代器的接口,称为 阅读全文

posted @ 2018-10-22 15:11 阿牧路泽 阅读(580) 评论(0) 推荐(0) 编辑

摘要: 一、仿函数(函数对象) 仿函数又称函数对象,函数对象首先是一个对象,即某个类的实例。其次,函数对象的行为和函数一致,即是说可以像调用函数一样来使用函数对象,如参数传递、返回值等。这种行为是通过重载类的()操作符来实现的。 【示例】 其实我们早就开始使用函数对象了,当你写下sort(v.begin() 阅读全文

posted @ 2018-10-22 15:05 阿牧路泽 阅读(562) 评论(0) 推荐(0) 编辑

摘要: 一、迭代器 迭代器(iterator):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”。 迭代器模式:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式。 STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一贴胶着剂(iterator 阅读全文

posted @ 2018-10-22 14:27 阿牧路泽 阅读(218) 评论(0) 推荐(0) 编辑

2018年10月19日

摘要: 一、容器的共通能力 1、所有容器提供的都是value语义,而非reference语义,容器执行插入元素的操作时,内部实施拷贝动作。所以STL容器内存储的元素必须能够被拷贝(必须提供拷贝构造函数); 2、每个容器都提供可返回迭代器的函数,运用返回的迭代器就可以访问元素。 3、通常STL不会丢出异常。要 阅读全文

posted @ 2018-10-19 16:32 阿牧路泽 阅读(215) 评论(0) 推荐(0) 编辑

摘要: 一、关联式容器 关联容器在存储时是以关键字key为下标进行存储的,标准的STL关联容器分为set和map两大类,之后的衍生版本有multiset和multimap,它们的区别是在存储时是否容许出现关键字key相同的情况。这些容器的底层机制均以RB-tree(红黑树)完成。 此外,SGI STL还提供 阅读全文

posted @ 2018-10-19 16:04 阿牧路泽 阅读(438) 评论(0) 推荐(0) 编辑

摘要: 一、序列式容器 Vector中所采用的数据结构非常简单:线性连续空间。当分配空间被占满而仍然需要添加元素时,vector便会进行一场空间重新配置的大工程!在这里,程序员需要注意的是,一旦引起空间重新配置,之前指向原vector的所有迭代器就都失效了,这一点在工程中容易引起bug。 List则对空间的 阅读全文

posted @ 2018-10-19 14:07 阿牧路泽 阅读(282) 评论(0) 推荐(0) 编辑

2018年10月16日

摘要: 一、基本概念 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里 阅读全文

posted @ 2018-10-16 22:07 阿牧路泽 阅读(278) 评论(0) 推荐(0) 编辑

摘要: 斐波那契查找 在介绍斐波那契查找算法之前,我们先介绍一下很它紧密相连并且大家都熟知的一个概念——黄金分割。 黄金比例又称黄金分割,是指事物各部分间一定的数学比例关系,即将整体一分为二,较大部分与较小部分之比等于整体与较大部分之比,其比值约为1:0.618或1.618:1。 0.618被公认为最具有审 阅读全文

posted @ 2018-10-16 17:07 阿牧路泽 阅读(499) 评论(0) 推荐(0) 编辑

摘要: 插值查找 在介绍插值查找之前,首先考虑一个新问题,为什么上述算法一定要是折半,而不是折四分之一或者折更多呢? 打个比方,在英文字典里面查“apple”,你下意识翻开字典是翻前面的书页还是后面的书页呢?如果再让你查“zoo”,你又怎么查?很显然,这里你绝对不会是从中间开始查起,而是有一定目的的往前或往 阅读全文

posted @ 2018-10-16 16:31 阿牧路泽 阅读(201) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 24 下一页