博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2012关于hash_map的使用简略
阅读量:6387 次
发布时间:2019-06-23

本文共 2767 字,大约阅读时间需要 9 分钟。

VS关于hash_map使用的一些经常使用构造方法汇总,包含基本类型和结构体,相信够一般模仿使用:

# include
#include
#include
struct order{ char orderNO[20]; char name[10]; int NO; char type;};typedef order Order;struct cmp{ enum { bucket_size=100, }; size_t operator()(Order order1) { return sizeof(order1.orderNO)+sizeof(order1.name)+sizeof(order1.NO)+sizeof(order1.type); } bool operator()(Order order1,Order order2) { if(strcmp(order1.orderNO,order2.orderNO)>0) return true; else if(strcmp(order1.orderNO,order2.orderNO)<0) return false; else { if(strcmp(order1.name,order2.name)>0) return true; else if(strcmp(order1.name,order2.name)<0) return false; else{ if(order1.NO>order2.NO)return true; else if(order1.NO
order2.type)return true; else return false; } } } }};struct CharLess : public std::binary_function
{public: result_type operator()(const first_argument_type& _Left, const second_argument_type& _Right) const { return(stricmp(_Left, _Right) < 0 ? true : false)
; }};struct CharLess1 : public std::binary_function
{public: result_type operator()(const first_argument_type& _Left, const second_argument_type& _Right) const { return(stricmp(_Left, _Right) < 0 ? true : false); }};void testHashMap(){ stdext::hash_map
mhasp_map1; for(int i=0;i<9;i++) mhasp_map1.insert(stdext::pair
(i,i+10)); stdext::hash_map
::iterator mit1=mhasp_map1.begin(); while(mit1!=mhasp_map1.end()) { std::cout<
first<<" "<
second<
> testhash; testhash["东方不败"]="葵花宝典,技压群雄"; testhash["西门吹雪"]="寒剑三尺,削铁如泥"; testhash["上官玉儿"]="花容月貌,一笑倾城"; stdext::hash_map
>::iterator testhashit=testhash.begin(); while(testhashit!=testhash.end()) { std::cout<
first<<" "<
second.c_str()<
first<
> testhash1; testhash1["东方不败"]="葵花宝典。技压群雄"; testhash1["西门吹雪"]="寒剑三尺,削铁如泥"; testhash1["上官玉儿"]="花容月貌,一笑倾城"; stdext::hash_map
>::iterator testhashit1=testhash1.begin(); while(testhashit1!=testhash1.end()) { std::cout<
first<<" "<
second<
first<
first<
testhash2; testhash2["东方不败"]="葵花宝典,技压群雄"; testhash2["西门吹雪"]="寒剑三尺,削铁如泥"; testhash2["上官玉儿"]="花容月貌。一笑倾城"; stdext::hash_map
::iterator testhashit2=testhash2.begin(); while(testhashit2!=testhash2.end()) { std::cout<
first<<" "<
second<
first<
teststruct; teststruct.insert(std::pair
(order1,"sr112")); teststruct.insert(std::pair
(order2,"sr113")); teststruct.insert(std::pair
(order3,"sr114")); teststruct.insert(std::pair
(order4,"sr115")); teststruct.insert(std::pair
(order5,"sr116")); stdext::hash_map
::iterator it; it=teststruct.find(order1); std::cout<
second<
etchar();}int main(){ testHashMap(); getchar();}
 

假设有不明白的地方。请參考博客:http://blog.csdn.net/sdhongjun/article/details/4517325,这位大神写的比較具体,细致看看。

你可能感兴趣的文章
开源项目 log4android 使用方式详解
查看>>
ssh命令详解
查看>>
C# 中字符串转换成日期
查看>>
垃圾短信相关用户细分方案
查看>>
免费的Windows系统工具
查看>>
脚本:将git项目下载到本地并启动
查看>>
Linked List Cycle && Linked List Cycle II
查看>>
SeleniumTest
查看>>
ubuntu10.04 交叉编译 aria2 总结
查看>>
实验二 linux常用命令练习
查看>>
SPY
查看>>
base64加密解密c++代码
查看>>
json数据格式
查看>>
JS部分基础知识点
查看>>
题解——CodeForces 438D The Child and Sequence
查看>>
javascript 原型链
查看>>
ListView长按事件返回值为true和false的选择
查看>>
HDU Problem 1513 Palindrome 【LCS】
查看>>
针对异常的微信支付开发 坚守两大原则(分享)
查看>>
ExtJs4发送同步请求的store
查看>>