std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如:int
main(int argc, _TCHAR* argv[]) { int a[10] = {1,2,3,4,5,6,7,8,...
分类:
编程语言 时间:
2014-05-19 15:22:41
阅读次数:
378
vector::const_iterator result =
find(vector.begin(). vector.end(),search_value); 如果查找失败,分会end()
如果有两个,会返回哪一个的迭代器?int *reauslt = find(ia,ia+6,search_va...
分类:
编程语言 时间:
2014-05-19 15:15:33
阅读次数:
324
最近写代码,无意中发现了一个坑,关于自定义比较函数的stl
sort函数的坑,于是记录下来。先贴代码: 1 #include 2 #include 3 #include 4 5 struct finder 6 { 7
bool operator()(int first, in...
分类:
其他好文 时间:
2014-05-19 14:47:48
阅读次数:
319
能使用STL的sort系列算法的前提是容器的迭代器必须为随机迭代器。所以,vector和deque天然适用。STL的sort算法采用了一些策略,在不同情况下采用不同的排序算法,以达到各种算法优势互补的效果。基本的原则是:数据量大时采用快速排序,数据量小时采用插入排序(这是对快排常用的一种优化策略),递归层次过深改用堆排序。
首先是插入排序。它的平均和最坏时间复杂度都为O(N²),量级小于...
分类:
其他好文 时间:
2014-05-18 14:40:31
阅读次数:
241
”大风车吱呀吱悠悠的转,这里的风景啊真好看,天好看,地好看,还有一群快乐的小伙伴,大风车转呀转悠悠,快乐的伙伴手牵着手,牵着你的手,牵着我的手......“童年的美好时光因为有了《动画城》的陪伴而倍感幸福,那个时候,家里有一台古董式的电视机,是一台黑白电视机,转台的时候需要通过电视机上面的那些按钮来完成,也就是换台的按钮,但是并不是每次都那么幸运,可以准时收看我喜欢的儿童节目,有时候出现一片白茫茫...
分类:
其他好文 时间:
2014-05-18 14:15:56
阅读次数:
200
下面我们来了解如何实现一个自定义的迭代器,然后再开始慢慢理解迭代器的内部工作原理。先来看一个官方的例子:
<?php
class myIterator implements Iterator {
private $position = 0;
private $array = array(
"first_element",
"second_element",
"last_element",
);...
分类:
Web程序 时间:
2014-05-18 13:58:23
阅读次数:
404
斐波纳契数列通常做法是用递归实现,当然还有其它的方法。这里现学现卖,用PHP的迭代器来实现一个斐波纳契数列,几乎没有什么难度,只是把类里的next()方法重写了一次。注释已经写到代码中,也是相当好理解的。...
分类:
Web程序 时间:
2014-05-18 06:14:18
阅读次数:
271
图基本算法,最小生成树,Prim,优先队列+邻接表
分类:
其他好文 时间:
2014-05-18 00:26:46
阅读次数:
558
顺序容器:vector list deque顺序容器适配器: stack queue
priority_quequ(没见过,第一轮不管)C c; C c(c2); C c(b,e) ///b e 都是迭代器; c(n,t)///只用于顺序容器;
C c(n) ///只用于顺序容器const list...
分类:
编程语言 时间:
2014-05-17 23:43:37
阅读次数:
471
高效的代码块: /* Iterator it =
al.iterator();//获取迭代器,用于取出集合中的元素。 while(it.hasNext()) { sop(it.next()); } ...
分类:
其他好文 时间:
2014-05-17 18:28:51
阅读次数:
252