2013年4月18日
摘要: 推荐使用方法:在源代码的前面写入一下代码:// just for "#include <hash_*>" in linux#if__GNUC__>2#include<ext/hash_set>#include<ext/hash_map>usingnamespace__gnu_cxx;#else#include<hash_set>#include<hash_map>usingnamespacestdext;#endif其它解释和方法:因为hash_map以前不属于标准库,而是后来引入的。所以在windows下需 阅读全文
posted @ 2013-04-18 16:56 carekee 阅读(2308) 评论(0) 推荐(0)
摘要: 处理含有可变参数的函数,只要解决如何访问可变参数列表即可。ANSI C和UNIX系统都定义了一些宏来访问函数中的可变参数表:va_list 是一个指向参数列表的指针的宏;va_start()、va_end()是两个访问可变参数列表的函数。va_start()用于把参数指针指向参数列表中的第一个可变参数。它在在UNIX和ANSI下是不同的:在UNIX下,只需要va_list作参数:void va_start( va_list arg_ptr );在ANSI下,除了va_list作参数外,还需要把第一个可选参数之前的参数也传进去:void va_start( va_list arg_ptr, pr 阅读全文
posted @ 2013-04-18 16:48 carekee 阅读(555) 评论(0) 推荐(1)
摘要: 为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ... 这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然后按照名字一个一个比较。如果要速度快,就需要把这些记录按照字母顺序排列,然后按照二分法查找。但是增加记录的时候同时需要保持记录有序,因此需要插入排序。考虑到效率,这就需要用到二叉 阅读全文
posted @ 2013-04-18 15:51 carekee 阅读(3872) 评论(0) 推荐(0)