目录迭代器$dir = new DirectoryIterator(dirname(__FILE__));foreach ($dir as $fileinfo) { if (!$fileinfo->isDot()) { echo $fileinfo->getFilename...
分类:
其他好文 时间:
2014-06-25 00:26:31
阅读次数:
231
“容器可容纳一些数据的模板类” “容器是包容其他对象的对象”两种类型:顺序容器、关联容器顺序容器关联容器访问成员顺序访问和随机访问经过优化关键键值访问任何改变vector长度的操作都会是已存在的迭代器失效,如erase()删除元素
分类:
编程语言 时间:
2014-06-22 23:26:15
阅读次数:
193
??
set_union
算法set_union可构造S1、S2的并集。此集合内含S1或S2内的每一个元素。S1、S2及其并集都是以排序区间表示。返回值是一个迭代器,指向输出区间的尾端。
由于S1和S2内的每个元素都不需唯一,因此,如果某个值在S1出现n次,在S2出现m次,那么该值再输出区间中会出现max(m,n)次,其中n个来自S1,其余来自S2。在STL
se...
分类:
其他好文 时间:
2014-06-22 22:22:27
阅读次数:
240
迭代器是C++标准库中的重要组件,特别是在容器内部,没有迭代器,容器也就无所谓存在了。
例如:vector容器简而言之就是3个迭代器 start finish 以及end_of_storage vector的任何操作都离不开这3个迭代器。。
接下来,总结一下C++ 中的迭代器的操作。
C++的迭代器分为5类,依次为 : Input_iterator, output_iterator,...
分类:
编程语言 时间:
2014-06-22 22:21:00
阅读次数:
275
copy------强化效率无所不用其极
copy(first,last,result)算法可将输入区间[first,last)内的元素复制到输出区间[result,result+(last-first))内。也就是说,它会执行赋值操作*result
=*first,*(result+1) =*(first+1),
…一次类推。返回一个迭代器:result+(last-...
分类:
其他好文 时间:
2014-06-22 22:00:36
阅读次数:
196
双向循环链表list
list是双向循环链表,每一个元素都知道前面一个元素和后面一个元素。
list和vector的区别:
在list中,由于其内存分配是非连续的,因此不能像vector那样用[]操作符取值,而只能用迭代器来访问list中的元素。list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_front、pop_front,这是vec...
分类:
其他好文 时间:
2014-06-22 21:33:58
阅读次数:
215
list的底层采用数据结构是环形的双向链表, 相对于vector容器,list容器插入和删除操作付出的代价要比vector容器小得多,但是list带有链表的天生弱点,就是不支持随机访问。从内置的迭代器角度分析,vector容器对应的迭代器为随机访问迭代器,而list容器内置的迭代器则为双向迭代器。...
分类:
其他好文 时间:
2014-06-22 19:19:11
阅读次数:
163
再探迭代器
这里有插入迭代器,有流迭代器,反向迭代器,移动迭代器。
插入迭代器
这是一种迭代器适配器,接受一个容器,生成一个迭代器,实现向给定容器添加元素。
插入迭代器有三种类型,差异在于元素插入的位置
back_inserter创建一个使用push_back的迭代器。
front_inserter创建一个使用push_front的迭代器。
inserter创建一个使用i...
分类:
编程语言 时间:
2014-06-22 17:50:05
阅读次数:
253
??
任何一个STL算法,都需要获得由一对迭代器(泛型指针)所标识的区间,用以表示操作范围。这一对迭代器所标示的是个所谓的前闭后开区间,以[first,last)表示。也就是说,整个实际范围从first开始,知道last-1。迭代器last所指的是“最后一个元素的下一位置”。这种偏移一格的标示法,带来了许多方便,例如下面两个STL算法的循环设计,就显得干净利落:
template
...
分类:
其他好文 时间:
2014-06-21 21:20:27
阅读次数:
293
定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图: 1 public static void main(String[] args) { 2 List list = new ArrayList(); 3 list.add(...
分类:
编程语言 时间:
2014-06-21 08:21:07
阅读次数:
230