自定义key
哈希 自定义key
自定义==等于判断函数==
- 结构体中重载==
- 仿函数 struct内重载()
自定义==哈希函数==
根据向量的每一个维度的不同,通过一定的计算,得到一个值,注意类型要用
size_t
来返回
struct Point { |
红黑树自定义key
map是STL里的一个模板类,用来存放<key, value>键值对的数据结构,它的定义如下。
template < class Key, //map::key_tpe |
第1个参数存储了key。
第2个参数存储了mapped value。
第3个参数是比较函数的函数对象。map用它来判断两个key的大小,并返回bool类型的结果。利用这个函数,map可以确定元素在容器中遵循的顺序以及两个元素键是否相等(!comp(a,b)&&!comp(b,a)),确保map中没有两个元素可以具有等效键。这里,它的默认值是==less< Key >==,定义如下。
template <class T>
struct less {
bool operator() (const T& x, const T& y) const {return x < y;}
typedef T first_argument_type;
typedef T second_argument_type;
typedef bool result_type;
};第4个参数是用来定义存储分配模型的。
自定义key的方法主要是重载比较函数
- 重载自定义的结构体的< 注意重载函数的两个const
- lamda表达式 定义小于号的比较规则
- 结构体仿函数重载() map<Person, int, MyCompare> group;
- 利用std::function调用普通函数
- less函数的模板定制 略
struct Nodee { |
自定义key
https://qianxunslimg.github.io/2022/06/22/ha-xi-zi-ding-yi-key/