C++ set find 找不到本来存在的元素
看一个例子
C++的set中的find函数,具体什么原理啊,总不对呢-CSDN论坛
我的情况是,set中可能存在多个相同的元素,然后重载了比较函数operator,其中写了=号,
查询时候就会查不到本来存在的元素。
将>=修改为>就好了。
其原理是
其实,set容器在判定已有元素a和新插入元素b是否相等时,是这么做的:1)将a作为左操作数,b作为有操作数,调用比较函数,并返回比较值 2)将b作为左操作数,a作为有操作数,再调用一次比较函数,并返回比较值。如果1、2两步的返回值都是false,则认为a、b是相等的,则b不会被插入set容器中;如果1、2两步的返回值都是true,则可能发生未知行为,因此,记住一个准则:永远让比较函数对相同元素返回false。
————————————————
版权声明:本文为CSDN博主「云洞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/janeqi1987/article/details/107245566
如果需要set存在多个相同的元素,可以使用multiset。
C++ set find 找不到本来存在的元素相关推荐
- 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...
/** * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 能够假定数组元素原先是按从小到大的顺序排列的. */ /*** 思路:数组被 ...
- C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
1. 题目 请编写一个函数function,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回.主函数中x是数组名,n 是x中的数据个数,max存放最大值,i ...
- 找出第i个小元素(算法导论第三版9.2-4题)
找出第i个小元素(算法导论第三版9.2-4题) 期望时间复杂度:Θ(n) 最坏情况的时间复杂度Θ(n^2) int randomized_select_based_loop(int *array,in ...
- 给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...
2019独角兽企业重金招聘Python工程师标准>>> /** * 功能:给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 可以假定 ...
- 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵
题目描述: 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵(矩阵中元素个数为矩阵面积) 输入: 每个案例第一行三个正整数N,M<=100,表示矩阵大小,和一个整数K 接下 ...
- python找出列表中所以相同元素的索引
在 Python 中可以使用 enumerate() 函数来找出列表中所有相同元素的索引.enumerate() 函数返回的是一个包含元素索引和元素值的元组,可以在循环中使用.示例如下: my_lis ...
- 【宫水三叶的刷题日记】961. 在长度 2N 的数组中找出重复 N 次的元素
题目描述 这是 LeetCode 上的 961. 在长度 2N 的数组中找出重复 N 次的元素 ,难度为 简单. Tag : 「模拟」.「计数」.「构造」.「哈希表」 给你一个整数数组 nums ,该 ...
- 找出整形数组中的元素最大值。
// 121218 第八章例8.4.cpp : 定义控制台应用程序的入口点. // /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. ...
- LeetCode简单题之在长度 2N 的数组中找出重复 N 次的元素
题目 给你一个整数数组 nums ,该数组具有以下属性: nums.length == 2 * n. nums 包含 n + 1 个 不同的 元素 nums 中恰有一个元素重复 n 次 找出并返回重复 ...
- 找出数组中被其他元素整除的元素_「每日一题」数组中重复的数字
题目描述 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次.请找出数组中任意一个重复的数字. Input ...
最新文章
- c# 经典521例(2)
- ipad iphone开发_如何将iPhone或iPad置于恢复模式
- 【JAVA基础篇】反射
- redis-数据类型-列表list类型
- python四则运算器tkinter_Python基于Tkinter的二输入规则器(乞丐版)
- xilinx芯片管脚使用限制_【转载】 Xilinx FPGA配置的一些细节
- dedecms 封面模板和列表模板有什么不同
- Latex安装教程 —— textlive+textstudio+基础环境配置
- python期货基本面分析_期货盘面分析语言,我用python做期货
- 什么思维是计算机科学的基础概念,计算思维的定义和特征是什么
- Nginx 配置优化
- 带附件/密送/抄送的 javaMail 邮件发送 -- java_demo(两种实现方式)
- 鼎湖山html css实验,鼎湖山游记
- 简单线性回归问题——线性模型【蒙哥马利】第二章部分课后习题代码
- 在Linux服务器上安装MySQL并配置,远程连接
- 设置中转,解决昆仑通态工控软件电脑版无驱动的问题
- ThinkPad T440换装固态硬盘(SSD)和内存条
- 常用JAVA项目监控工具
- SQL Server--嵌套查询
- 【WinHec启示录】透过Windows 10技术布局,谈微软王者归来
热门文章
- SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
- 策略模式 (Strategy)
- 了解一些FMS的基本概念
- RecyclerView混合布局
- 使用VSCode如何调试C#控制台程序_2_加深总结
- 64位Windows下安装Redis教程
- 我们应该如何去了解JavaScript引擎的工作原理
- 3.C#编程指南-字符串
- 关于wow(mangos模拟器) 的物品生成器---wowItemEdit 1.0
- 正态分布的前世今生(下)