首页 > 其他分享 >std的map或者set中,比较浮点类型二维三维数据

std的map或者set中,比较浮点类型二维三维数据

时间:2024-07-25 11:17:46浏览次数:7  
标签:std map set const 三维 二维 数据

在map和set中,如果比较对象是二维或者三维数据,需要把二维三维数据的浮点数转换为比较精度。

如果比较精度是0.001,那么数据的精度也必须是0.001,不然会出现如下情况:

比较函数

 

struct Point001Comp {

    bool operator()(const Point* l, const Point* r) const
    {
        if(fabs(l->X-r->X)<0.001)
        {
            if(fabs(l->Y-r->Y)<0.001)
            {
                return false;
            }
            else
            {
                return l->m_Y<r->m_Y;
            }
        }
        else
        {
            return l->m_X<r->m_X;
        }
    }

};            

 


按顺序插入以下数据。
 87.285763,267.174099

 87.286628,263.922115

查询
 87.286943,263.922115

会发现查询不到。

标签:std,map,set,const,三维,二维,数据
From: https://www.cnblogs.com/SamFang/p/18322606

相关文章

  • C++ printf/std::cout如何重定向到日志文件中
    在C++中,可以使用标准库中的头文件提供的ofstream类来打开文件,并使用std::freopen函数将stdout重定向到该文件。以下是一个示例代码,展示如何将printf输出重定向到日志文件中:#include<cstdio>#include<fstream>intmain(){std::ofstreamlogFile("log.txt",std::ios:......
  • Android 10.0 Settings 加载流程
    一、系统设置首页代码路径:packages/app/Settings/1主界面加载:<!--Aliasforlauncheractivityonly,asthisbelongstoeachprofile.--><activity-aliasandroid:name="Settings"android:label="@string/settings_label_lau......
  • Python3打开图片时请求ConnectionResetError(10054)
    我试图从'http://xxx.jpg'之类的网站下载图片。代码:headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/66.0.3359.139Safari/537.36'}url='http://xxx.jpg'resp......
  • 一文说透ConcurrentHashMap及大厂面试题
    23年毕业半年被裁后,一个月斩获大厂offer,“跟着周哥走,offer手里有”。文中有周哥50+场面试总结出的必会面试题。本期说一下ConcurretHashmap及相关知识点的面试题及答案。注:接下来的内容来自本人整理的面试秘籍。点击此处,免费获取面试秘籍jdk1.7中和jdk1.8中ConcurretH......
  • ava 集合框架全解析:Collection vs Collections,Comparable vs Comparator,HashSet 工作
    Java中的集合框架是开发过程中不可或缺的一部分,但初学者常常会混淆其中的术语,特别是Collection和Collections。这篇博客将详细介绍它们之间的区别,并进一步探讨Comparable和Comparator、HashSet的工作原理,以及HashMap和Hashtable的区别。Collection和Collecti......
  • js-数组内置函数-filter、map、forEach、reduce
    1、过滤数组-filter筛选数组元素,并生成新数组//过滤出分数为60分以上的数据<script>constarr=[{'name':'张三','score':80},{'name':'张六','score':50},{'name':'李四','scor......
  • 数据结构(Java):Map集合&Set集合&哈希表
    目录1、介绍1.1 Map和Set1.2模型2、Map集合2.1Map集合说明2.2 Map.Entry<K,V>2.3Map常用方法2.4Map注意事项及实现类 3、Set集合3.1Set集合说明 3.2 Set常用方法 3.3Set注意事项及其实现类4、TreeMap&TreeSet4.1集合类TreeMap(Key-Value模型)4.1.1底......
  • JAVA常见面试题-Map接口有哪些实现类
    HashMap、TreeMap、LinkedHashMap、Hashtable、Properties由于Map中结构特点(Key无序的,不可重复,并且使用Set存储所有的key,value无序的,可重复,并且使用Collection存储所有的value)故key所在类需要重写hashCode(),equal()方法,value只需要重写equal。一个键值对:key-value构成了一个......
  • JavaScript中的new map()和new set()使用详细(new map()和new set()的区别)
    简介:newMap():在JavaScript中,newMap()用于创建一个新的Map对象。Map对象是一种键值对的集合,其中的键是唯一的,值可以重复。newSet():在JavaScript中,newSet()是用来创建一个新的Set对象的语法。Set对象是一种集合,其中的值是唯一的,没有重复的值。newSet()可以用......
  • pyqt5中带有特定按钮的setCurrentIndex()方法问题
    我对pyqt5还很陌生,坦率地说,这是我使用这个框架的第一个项目,所以请耐心等待。当我尝试将sign_up按钮连接到我的goto时,它向用户显示SignUpMainWindow,即使具有相同连接功能的其他按钮正常工作,它似乎根本不起作用...我已经去了多次检查我的代码以确保它......