b2c信息网

您现在的位置是:首页 > 前天新闻 > 正文

前天新闻

c++hashmap源码(c++hashmap用法)

hacker2022-06-29 12:56:15前天新闻101
本文目录一览:1、谁有C语言写的map和hashmap容器2、

本文目录一览:

谁有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;

}

发表评论

评论列表

  • 辙弃旧竹(2022-06-29 13:38:15)回复取消回复

    itr=your_map.begin();itr!=your_map.end();itr++){ cout"The "itr-first"th word is"itr-second

  • 晴枙萌辣(2022-06-30 00:01:31)回复取消回复

    udestring#includemap#includeutilityusing namespace std;int main(){ mapint ,string my_map; stri

  • 南殷卮留(2022-06-29 20:35:10)回复取消回复

    ap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。2.hashTable同步的,而Hash

  • 柔侣七禾(2022-06-29 21:36:34)回复取消回复

    知道像map,vector,hasp_map这样动态的存储结构是无法将其对象写入文件的。只能存数据。像楼上说的用CArchive类,我觉得应该行不能,毕竟CArchive只能写CObject对象!在网上找了个写map入文件的

  • 可难绣羽(2022-06-29 22:00:12)回复取消回复

    下三方面:1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高