第10章 泛型算法
1. find()泛型算法使用示例:
2. 只读算法accumulate:对所给范围的元素求和并返回. 注意accumulate的第3个参数决定着它的返回类型. 即如果第3个参数是double,就算迭代器里都是int,最终还是返回double类型的数.
3. 只读算法equal:比较前两个迭代器表示范围的所有元素是...
分类:
编程语言 时间:
2015-03-09 11:00:18
阅读次数:
141
这个问题原本是 C++ 吧里有人问的, 我当时就立刻动手解决了, 结果后来才发现, STL 里已经有了对应的泛型算法了......看来我对 STL 知道的还是太少, 贴一下我当时完成的方法:set VecToSet (const vector &vec){ set tmp_set (vec.c...
分类:
其他好文 时间:
2015-01-31 17:51:02
阅读次数:
188
流迭代器是一种迭代器适配器。istream_iterator用于读取输入流,ostream_iterator用于写输出流。这些迭代器将它们所对应的流视为特定类型的元素序列。使用流迭代器时,可以用泛型算法从流对象中读数据或将数据写入到流对象中。流迭代器的构造函数如下:流迭代器的基本操作如下:1、流迭代...
分类:
编程语言 时间:
2015-01-29 23:57:48
阅读次数:
253
标准库容器定义的操作非常少。标准库没有给容器添加大量的功能函数,而是选择提供一组算法,这些算法大都不依赖特定的容器类型,是“泛型”的,可作用在不同类型的容器和不同类型的元素上。 因为它们实现共同的操作,所以称之为“算法”;而“泛型”指的是它们可以操作在多种容器类型上——不但可作用于 vecto...
分类:
编程语言 时间:
2015-01-24 21:19:39
阅读次数:
303
类实现了Comparable接口就表明类的实例本身具有内在的排序关系(natural ordering)。因此,该类可以与很多泛型算法和集合实现进行协作。而我们之需要实现Comparable接口唯一的方法——compareTo。 以下是相关规则:sgn(x.compareTo(y)) = -sgn....
分类:
其他好文 时间:
2014-12-30 21:53:27
阅读次数:
231
本文中算法都是指泛型算法。基本要点: 1)算法使用迭代器进行操作。 2)不依赖容器,但容器希望使用算法,就必须提供接口。 3)通用算法永远不会执行容器操作。操作仅指:更改容器大小的操作。但,容器内部的算法不包括在通用中。 4)算法使用一个 可调用对象 来对元素进行操作。可 调用对象 通常为函...
分类:
编程语言 时间:
2014-12-22 17:31:27
阅读次数:
209
迭代器(iterator)是什么?我不确定。无法使用定义方式给出答案。基本介绍(来源于网络):迭代器是一种抽象的概念。能够遍历容器内的 部分/全部 元素。每个迭代器中包含着元素的地址。 它可以将 抽象容器 和 泛型算法 结合起来。大致原理: 1)迭代器对象 包含 容器内元素的地址。 2)通过设计.....
分类:
其他好文 时间:
2014-12-22 14:10:58
阅读次数:
181
为了更好的迎接新版本的到来,先看一下之前F#的特性。
1.为区分联合(discriminated unions)添加了命名域,使代码更加清晰。
2.用新数据的新特性,使矢量和矩阵编码更容易的工作
3.更强大的泛型算法的扩展
4.得到更好的调试支持,当你使用F #调试时,调试编译器和解释器选项。
5.当你使用LINQ扩展方法如select时,lambda表达式将使你的代码非常简浩。
6....
分类:
其他好文 时间:
2014-12-21 09:14:20
阅读次数:
221
/*第一章 快速入门第二章 变量和基本类型第三章 标准库类型第四章 数组和指针第五章 表达式第六章 语句第七章 函数第八章 标准IO库第九章 顺序容器第十章 关联容器第11章 泛型算法
分类:
其他好文 时间:
2014-12-19 17:22:34
阅读次数:
161
1. 容器(constainers) 现成的模版形式的数据结构, 如 vector, deque, set, map... 主要用来存放数据;2. 算法(algorithms) 我倾向于叫做泛型算法, 常见的有 sort, search, copy, erase... 主要用函数模板实现;3. 迭代...
分类:
其他好文 时间:
2014-12-14 00:40:51
阅读次数:
254