本文主要分析g++ stl中哈希表的实现方法。stl中,除了以红黑树为底层存储结构的map和set,还有用哈希表实现的hash_map和hash_set。map和set的查询时间是对数级的,而hash_map和hash_set更快,可以达到常数级,不过哈希表需要更多内存空间,属于以空间换时间的用法,...
分类:
其他好文 时间:
2014-08-21 22:44:34
阅读次数:
387
map里有,set里也有,vector,list没有,太不公平了吧。其实应该考虑为什么map,set里有find操作。include里有通用的find操作,通用的find内部是从begin到end进行一次遍历,复杂度是O(n)。通过iterator从begin到end遍历map与set时,得到的结果...
分类:
编程语言 时间:
2014-08-21 22:38:14
阅读次数:
236
简单用法: #include using namespace __gnu_cxx;int a[1000];rope x;rope x(a,a + n);rope a(x);x->at(10);x[10];x->push_back(x) // 在末尾添加xx->insert(pos,x) // 在po...
分类:
其他好文 时间:
2014-08-21 20:58:24
阅读次数:
391
翻译自stackoverflow英语好的同学可以自己去看一下。什么是next permutation 下面是四个元素{1,2,3,4}的排列1 2 3 41 2 4 31 3 2 41 3 4 21 4 2 31 4 3 22 1 3 4... 每一行都是一个排列。 我们如何从一个排列转到下一...
分类:
其他好文 时间:
2014-08-21 17:01:44
阅读次数:
228
这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netS...
分类:
其他好文 时间:
2014-08-21 16:30:44
阅读次数:
249
STL泛型算法#include #include #include #include #include #include using std::cout;using std::endl;using std::vector;using std::list;bool IsOushu(const in.....
分类:
其他好文 时间:
2014-08-21 01:29:03
阅读次数:
218
C++中的traits常用于STL中,用来提取类型信息。
比如定义一个函数模板,模板参数为T类型,返回T类型的值。
template
typename T::value_type f(T iter)
{
return *iter;
}
这个函数的返回值类型是T::value类型,这样T的类型是vector listdeque等类型时,都可以处理。但有一个例外,即T是普通指针类...
分类:
编程语言 时间:
2014-08-20 12:30:32
阅读次数:
455
题目链接:
传送门
思路:
这道题是一个简单的hash的应用,如果直接暴力的话肯定承受不了5重for循环,所以比赛的时候我先到分成两组,但是后来用到了许多数组,然后想到数字太大,还先到stl判重,
后来搞出来还是在本地跑的很慢,就放弃了。。后来看到题解,不得不说太牛了,我的思路是对的,首先把方程分成左右两边,然后分别暴力,因为计算结果的上限可能达到
50*50*50*50*2=125...
分类:
其他好文 时间:
2014-08-20 10:33:06
阅读次数:
173
模版在C++中具有非常重要的地位,STL就是大量运用模版写出来的。
模版的优点我就不一一列举了。这里我只说一下模版的原理。
当编译器遇到模版方法定义的时候,编译器进行语法检查,但是并不会编译模版。编译器无法编译模版定义,因为编译器不知道要使用的类型是什么,编译器不知道x和y的类型的情况下无法为x=y这样的语句生成代码。
当编译器遇到一个实例化的模版的时候,例如vector vi(这里我只是拿...
分类:
编程语言 时间:
2014-08-20 10:32:46
阅读次数:
300
额 今天 在编译PDF时发现使用了一下STL中的z数值极限竟然编译不过,
return GetRangeConstraint(value
出现如下错误:
warning C4003: “max”宏的实参不足
error C2589: “(” : “::”右边的非法标记
google了一下,原来是需要把max用括号括起来避免和windows定义的宏混淆
ret...
分类:
数据库 时间:
2014-08-20 09:19:56
阅读次数:
273