C++中的hash_map__Linux下g++和Windows下VC++下头文件,命名空间

转自:http://blog.163.com/[email protected]/blog/static/132229655201143103653759/

C++中的hash_map__Linux下g++和Windows下VC++下头文件,命名空间 

在Linux下g++的形式:

头文件::         #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>一样。

 

点赞