[QQ群: 189191838,对算法和C++感兴趣可以进来] 直接逼入正题。Standard
Template
Library简称STL。STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adaptors)、算法(algorit...
分类:
其他好文 时间:
2014-05-14 03:55:43
阅读次数:
273
Iterator模式定义:
提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。
这个模式在java的类库中已经实现了,在java中所有的集合类都实现了Conllection接口,而Conllection接口又继承了Iterable接口,该接口有一个iterator方法,也就是所以的集合类都可以通过这个iterator方法来转换成Iterator类,用Ite...
分类:
其他好文 时间:
2014-05-13 09:11:43
阅读次数:
288
手动模拟。。
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 10100
#define inf 1000000010
mapx,y;
struct X{
int x,y;
bool operator<(const X&a)const{...
分类:
其他好文 时间:
2014-05-13 07:29:10
阅读次数:
294
暴力出奇迹。。
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll __int64
#define N 42
ll n,m,ans;
ll Gcd(ll x,ll y){
if(x>y)swap(x,y);
while(x){
y%=...
分类:
其他好文 时间:
2014-05-12 23:11:06
阅读次数:
445
该文章主要回答三个问题: leveldb 怎么管理因compact带来的文件变化?
当db关闭后重新打开时,如何恢复状态? 如何解决版本销毁文件变化和已经获取过的迭代器的冲突? 每次leveldb后台进行compact时,
会造成sst文件的变化。levedb利用version来管理了这...
分类:
数据库 时间:
2014-05-12 22:04:30
阅读次数:
554
map是键-值对的集合,可以理解为关联数组,可以使用键作为下标来获取一个值
本文地址:http://www.cnblogs.com/archimedes/p/cpp-map.html,转载请注明源地址。
map对象的定义
使用前添加map头文件,必须分别指明键和值的类型:
mapstring,int>word_count;
map的构造函数:
mapm; ...
分类:
编程语言 时间:
2014-05-12 14:57:49
阅读次数:
479
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :
#include
使用vector有两种不同的形式,即所谓的数组习惯和 STL习惯。
一、数组习惯用法
1. 定义一个已知长度的 vector :
vector ivec( 10 ); //...
分类:
编程语言 时间:
2014-05-11 22:21:45
阅读次数:
415
C++ 11已将哈希表纳入了标准之列。hashtable是hash_set、hash_map、hash_multiset、hash_multimap的底层机制,即这四种容器中都包含一个hashtable。
解决碰撞问题的办法有许多,线性探测、二次探测、开链等等。SGI STL的hashtable采用的开链方法,每个hash table中的元素用vector承载,每个元素称为桶(bucke...
分类:
其他好文 时间:
2014-05-11 21:07:54
阅读次数:
522
本文主要分析了模板方法模式、命令模式、责任链模式、策略模式、迭代器模式,介绍它们的定义、优缺点、使用场景,以及实例代码。为了深刻地理解设计模式,最重要的还是动手编写代码。
我参照书中的例程重新构想了一些更加生动、易于理解的例子,希望大家喜欢。
代码可以通过以下链接进行浏览:
http://git.oschina.net/caipeichao/java-design-pattern
这些代码都经过编译运行,保证没有错误。...
分类:
其他好文 时间:
2014-05-11 04:44:19
阅读次数:
289
设计实现一种通用的迭代器,该迭代器用于在某个多维整型数组中,按实际存储顺序逐个遍历指定切片范围内的元素,以便进行任意操作。
1)需要为该迭代器实现四个接口:初始化,获取当前元素在数组中的地址,跳到下一个,遍历是否结束。
2)基于该迭代器,创建一个切片数组的拷贝,只包含指定切片内的元素,保持原有存储顺序不变。...
分类:
其他好文 时间:
2014-05-11 02:08:20
阅读次数:
316