1. map : C++的STL中map是使用树来做查找算法; 时间复杂度:O(log2N)2.hash_map : 使用hash表来排列配对,hash表是使用关键字来计算表位置; 时间复杂度:O(1), 最坏的时间复杂度:O(n)总体来说:hash_map 比 map 查找速度快,而且查找速度.....
分类:
其他好文 时间:
2014-06-28 23:22:16
阅读次数:
293
在STL中,排序是个很重要的话题。1.algorithm 里的sort()只接收RandomAccessIterator用于像vector,dequeue的排序2.像set,map,这种关联式容器,本身就由RBTree维护了有序,只要遍历一遍就行了。3.而list比较特殊一点,由于只有Bidirec...
分类:
其他好文 时间:
2014-06-28 22:09:39
阅读次数:
209
#include#includeusingnamespacestd;intmain(){vectorv(3);v[0]=2;v[1]=7;v[2]=9;v.insert(v.begin(),8);//在最前面插入新元素。v.insert(v.begin()+2,1);//在迭代器中第二个元素前插入新...
分类:
其他好文 时间:
2014-06-28 20:28:27
阅读次数:
144
概念全排列的生成算法有很多种,有递归遍例,也有循环移位法等等。C++/STL中定义的next_permutation和prev_permutation函数则是非常灵活且高效的一种方法,它被广泛的应用于为指定序列生成不同的排列。本文将详细的介绍prev_permutation函数的内部算法。按照STL...
分类:
其他好文 时间:
2014-06-24 09:50:04
阅读次数:
246
重温了一下 Effective C++,发现这就是条款24所指出的问题,看来读书百遍不如写代码一遍啊在Notify处理消息时会有很多if语句,我通常喜欢把常量放在双等号前面,变量放在后面,比如: if( _T("click") == msg.sType ) { }但是却发现并没有进到这个if里,调试...
分类:
其他好文 时间:
2014-06-23 08:23:09
阅读次数:
407
①使用binary_search前要先保证有序②binary_search函数仅返回true或false③
分类:
其他好文 时间:
2014-06-21 12:49:50
阅读次数:
202
STL中的每个算法都非常精妙, ForwardIterlower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。 ForwardIter uppe.....
分类:
其他好文 时间:
2014-06-21 09:29:50
阅读次数:
168
ostream_iterator属于I/O流STL适配器,用于获取一个元素,同时保存在缓冲器中,可以供Cout输出。如果把cout看做成一个对 象,那么在Cout对象当中存在一片用于数据存储的区域。ostream_iterator在STL中一般配合copy函数一起使用,如下代码;ostream_it...
分类:
其他好文 时间:
2014-06-21 07:25:30
阅读次数:
168
【序言】在大家怀疑的眼光下,我做了一个中午和半个下午、调了一个晚上的题目总算A了!
【原题】
消棋子是一个有趣的游戏。游戏在一个r * c的棋盘上进行。棋盘的每个格
子,要么是空,要么是一种颜色的棋子。同一种颜色的棋子恰好有两个。每一轮,
玩家可以选择一个空格子(x, y),并选择上下左右四个方向中的两个方向,如果
在这两个方向上均存在有棋子的格子,而且沿着这两个方向上第一个遇到的棋子
...
分类:
其他好文 时间:
2014-06-18 06:08:20
阅读次数:
233
背景
看了几个内存池的设计,如python,STL,基本上对内存的管理有两种结构:
1.block,即内存的一个块,一般和内存页(pagesize)大小相关。
2.内存分片,即在该内存块上分配要使用的内存空间。
例如python的pyIntObject中使用到的缓冲池的实现: http://blog.csdn.net/ordeder/article/details/25343633...
分类:
数据库 时间:
2014-06-18 00:49:46
阅读次数:
416