c++hashmap源码(c++hashmap用法)
本文目录一览:
谁有C语言写的map和hashmap容器
你可以参考STL 源码解析 中对于map 和hashmap 的实现
因为是C语言的开发,不能使用标准库的map和hashmap,原以为这个代码应该很多的。
chashmap和hashtable的区别
应该是HashMap与HashTable的区别吧。
有以下三方面:
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
3.hashMap允许空键值,而hashTable不允许。
C++ hashmap 写入文件
实在悲剧的厉害。刚刚我按常规写对象入文件的方法,想实现这个,
弄了好久也没搞定,后来才知道像map,vector,hasp_map这样动态的存储结构是无法将其对象写入文件的。只能存数据。
像楼上说的用CArchive类,我觉得应该行不能,毕竟CArchive只能写CObject对象!
在网上找了个写map入文件的实现,它也不是直接写对象,而是写数据。读的时候再根据数据构造对象内容。对于hash_map也应该一样,再封装一下应该不难吧?
#includeiostream
#includefstream
#includestring
#includemap
#includeutility
using namespace std;
int main(){
mapint ,string my_map;
string word;
int count=0;
cout"请输入字符串数据"endl;
while(count!=4) {
cinword ;
my_map.insert(make_pair(++count,word));
}
//读入文本
ifstream ins("text.txt");
ofstream ous("text.txt");
mapint ,string::iterator iter=my_map.begin();
for(;iter!=my_map.end();iter++){
ousiter-first" "iter-secondendl;
}
//从文本中读出
mapint ,string your_map;
while(!ins.eof()){
int key;
string value;
inskeyvalue;
your_map.insert(make_pair(key,value));
}
for(mapint,string::iterator itr=your_map.begin();itr!=your_map.end();itr++){
cout"The "itr-first"th word is"itr-secondendl;
}
return 0;
}