头文件:: #include <ext/hash_map>
命名空间:: using namespace __gnu_cxx;
使用上和map区别不大,差别主要在性能上。
map采用红黑树的方式,而hash_map采用哈希的方法,
插入:: 所以map的插入和删除速率要比hash_map高,hash_map要做冲突处理。
查找:: 但是查找上hash_map就要比map的性能高很多,因为是哈希,所以可以直接按照内容找到。
使用方法::
使用方法上和map没有什么大的区别,
#include <ext/hash_map>
using namespace __gnu_cxx;
hash_map<key_type,value_type> obj;
hash_map<key_type,value_type>::iterator iter = obj.begin();
在Windows下VC++的形式:
和map的使用方法一样,没有命名空间,直接#include <hash_map>就可以使用了,就像直接#include <map>一样。
本文对比了hash_map与map在Linux及Windows下的使用方法及性能差异。hash_map基于哈希表,提供更快的查找速度;而map基于红黑树,拥有更优的插入和删除性能。
1650

被折叠的 条评论
为什么被折叠?



