我是靠谱客的博主 要减肥抽屉,最近开发中收集的这篇文章主要介绍C++map联合主键的使用(自定义结构体作为key值),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先知道map索引快的原因是会根据key值自动排序,底层原理是红黑树。
当基础类型作为key可能无法满足索引条件时(有可能根据多个条件进行排序,比如大家都距离终点100米但还是需要排序),可以使用自定义结构体做为key值索引,以下为自定义类型作为key值时自定义排序规则,本质是用重载运算符<号实现。

struct MyKey{
double achievement;
string name;
bool operator < (const MyKey& mapkey) const{
if(achievement > mapkey.achievement){
return false;
}
else if(achievement < mapkay.achievement){
return true;
}
else if(name < maykey.name){
return true;
}
return false;
}
};

这样插值之后就会根据自定义的规则自动排序了。

最后

以上就是要减肥抽屉为你收集整理的C++map联合主键的使用(自定义结构体作为key值)的全部内容,希望文章能够帮你解决C++map联合主键的使用(自定义结构体作为key值)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部