泛型算法的参数一般接受下列参数类型的一种或几种:...
分类:
编程语言 时间:
2015-07-21 17:12:26
阅读次数:
154
1.STL(Standard Template Library)主要由2种组件构成:容器——vector,list,set,map等;泛型算法——find(),sort(),replace(),merge()等。2.当数组被传给函数,或是由函数返回,仅有第一个元素的地址会被传递:int min(in...
分类:
编程语言 时间:
2015-07-14 22:14:35
阅读次数:
179
replace算法:
replace函数包含于头文件#include中。
泛型算法replace把队列中与给定值相等的所有值替换为另一个值,整个队列都被扫描,即此算法的各个版本都在
线性时间内执行———其复杂度为O(n)。
即replace的执行要遍历由区间[frist,last)限定的整个队列,以把o...
分类:
编程语言 时间:
2015-07-10 09:39:33
阅读次数:
161
概要(泛型算法)大多数算法的头文件中定义algorithm在。标准库也是第一个文件numeric它定义了一套通用算法。#include#include#include#includeusing namespace std;int main(){ vector vec; for(size_...
分类:
编程语言 时间:
2015-07-08 22:15:32
阅读次数:
130
一、等价与相等的简述 在容器中,等价并不是相等。为什么要提等价与相等呢?因为泛型算法中的find等用于比较的是相等,即以operator==为基础,而容器成员函数的比较是以operator 2 3 struct CIStringCompare{ 4 bool operator()(con...
分类:
其他好文 时间:
2015-06-09 00:41:29
阅读次数:
134
迭代器。基本介绍(来源于网络):迭代器是一种抽象的概念。能够遍历容器内的 部分/全部 元素。每个迭代器中包含着元素的地址。 它可以将 抽象容器 和 泛型算法 结合起来。大致原理: 1)迭代器对象 包含 容器内元素的地址。 2)通过设计,将元素操作统一。个人理解: 1)迭代器的概念,有效整合不同...
分类:
编程语言 时间:
2015-05-16 13:24:26
阅读次数:
201
第七章 文件操作和模板
7.1 文件操作
7.2 函数模板
泛型程序设计(Generic Programming)
算法实现时不指定具体要操作的数据的类型
泛型——算法实现一遍,适用于多种数据结构
优势: 减少重复代码的编写
两种类型
函数模板类模板
与“抽象、封装、继承、多态”并列
函数模板
template
...
分类:
编程语言 时间:
2015-05-07 00:59:44
阅读次数:
200
第11章 泛型算法1.概述泛型算法依赖于迭代器,而不是依赖容器,需要指定作用的区间,即[开始,结束),表示的区间,如上所示此外还需要元素是可比的,如果元素本身是不可比的,那么可以自己定义比较函数。2.常用的泛型算法函数:fill,fill_n, copy, replace, sort, unique...
分类:
编程语言 时间:
2015-05-01 23:42:35
阅读次数:
177
先强调一下,这里的泛型算法实际不光光是对vector的操作,对于“顺序容器”均可以。
但是什么是顺序容器:
我们都知道,容器就是一些特定类型对象的集合。而顺序容器为程序员提供了控制元素存储和访问的能力。这种容器的一个显著的特征,就是容器中元素的顺序不依赖于元素的值,而是与加入容器时的位置有关。常见的顺序容器有vector、deque(双端队列)、list(双向链表)、forward_list(...
分类:
编程语言 时间:
2015-04-23 15:43:24
阅读次数:
133
第九章:顺序容器
1、 顺序容器的元素按其位置存储和访问,其元素的排列元素的值无关,而是按其加入的顺序存储。 关联容器。其元素按键(key)来排序。
2、 标准库定义了三种顺序容器: vector/list /dequeue。 标准库还提供了三种容器适配器: 根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型。顺序容器:
vector:支持快速随机访问
List :支持快速插入和删除
Deque:双端对列顺序容器适配器:
stack:后进先出(...
分类:
编程语言 时间:
2015-04-07 12:11:17
阅读次数:
241