std::map 自定义排序

PS:开发中难免会用到快速检索的数据结构-map , 很多时候map自身提供的排序不能满足我们的需要或者不支持我们自定的数据结构的排序,解决办法就是自己实现排序.

 

这里的小案例是:我们要经用户的hash数据和所对应的解密key存在map中,以便以后能快速的根据hash找到对应的key。

 

1. 自定义 比较函数(其中用户hash是 BYTE hash[20] )

struct map_cmp {
    bool operator()(const BYTE* k1, const BYTE* k2)
    {
        if (memcmp(k1,k2, 20) < -1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
};

2.定义map

typedef map< LPBYTE, LPBYTE,map_aes_cmp> MAPUSERAESKEYS;

MAPUSERAESKEYS g_mapAesKeys;

 

posted @ 2016-05-04 10:10  m4sterx  阅读(564)  评论(0编辑  收藏  举报