关于std::set的一些补充

std::set在存储自定义结构时,要重载operator用于查找时使用,比较关键字即可。
比如在PAT甲级1012中的应用。而在查找时,std::set只比较重载运算符中比较的关键字,忽略其他的成分。

struct Node {string id;int C, M, E, A;bool operator==(const Node& a) {  // 重载运算符,用于查找时比较return id == a.id;}
};
struct cmp {  // 自定义比较结构bool operator()(const Node& a, const Node& b)const {return a.id < b.id;}
};
set<Node, cmp>S;
Node tmp;
// do some operation....
cin >> tmp.id;   // 这里只需要输入id关键字即可
auto it = S.find(tmp);

关于std::set的一些补充相关推荐

  1. boost::filesystem经常使用使用方法具体解释

    提示: filesystem库提供了两个头文件,一个是<boost/filesystem.hpp>,这个头文件包括基本的库内容.它提供了对文件系统的重要操作. 同一时候它定义了一个类pat ...

  2. POJ C++程序设计 编程题#4:计算整数平方和

    编程题#4:计算整数平方和 来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 总时间限制: 1000ms 内存限制: 102 ...

  3. C++天气预报小软件

    前言:这个东西是八月份自己捣鼓着玩的 现记录下 需要解决的问题: 1.选择对应的接口(稳定,最好使用官方提供的) 2.获取数据 2.对返回数据的处理 问题1:天气接口的获取 =>通过城市名 来获 ...

  4. C++ 从入门到入土 #1

    目录 目录 前言 C++和C语言的不同 ・文件后缀 ・C语言是面向过程编程,C++则是面向对象编程 ・头文件 ・新增命名空间 ・输入输出 补充:输入时需要注意的 ・新的数据类型 补充:关于C++中的c ...

  5. C++ 8 继承与派生

    C++ 8 继承与派生 题目1 设计一个名为Employee的雇员类,它的数据成员保存如下信息: 雇员的姓名:采用大小为10的字符数组表示. 雇员的受骋日期:可用三个整型变量表示. 再设计一个Empl ...

  6. make_shared理解

    本章所有内容均从C++ Primer摘录总结 1.为什么使用make_shared? make_shared函数的主要功能是在动态内存中分配一个对象并初始化它,返回指向此对象的shared_ptr;由 ...

  7. Games101 作业2(解决黑线问题)

    目录 作业概述 Bouding box 判断点是否在三角形内 Z-buffer 提高部分 黑线解决方案 参考链接 作业概述         在上次作业中,虽然我们在屏幕上画出一个线框三角形,但这看起来 ...

  8. 交大C语言程设课的题目,让我意识到了自己为什么只读了大专

    今天,鼠鼠看到了朋友圈里的一个交大✌在讨论一道C语言程序设计的代码题.不知道天高地厚的鼠鼠就附庸风雅地去讨论了一下,这才发现自己为什么只能读大专! 题目看起来非常简单,鼠鼠好像也会,我在这里简单地阐述 ...

  9. 记录一个视频加密解密--AES 进阶版 (EVP)

    OpenSSL 是一个开源的软件库,提供了一组用于进行加密.解密.哈希和证书操作的函数和工具.其中,EVP(Envelope Cryptography API)是 OpenSSL 中的一个模块,用于处 ...

最新文章

  1. eslint vscode 自动格式化_配置VSCode编辑器适配VUE3开发
  2. 图像放大算法一:最近邻法(Nearest Interpolation)
  3. quick time不可用是什么意思_自动挡上每个字母都代表什么意思?可以用一句话总结...
  4. Oracle 11g Win10卸载 ,亲测
  5. Latex注释快捷键
  6. 计算机系统基础:文件的存取和存储空间管理知识笔记
  7. 设置 Linux 的 LD_LIBRARY_PATH 变量
  8. 面向对象一些概念简述
  9. 清华、北大联合调研995家中小企业,如何穿越3个月的生死火线
  10. Java通过FFMPEG获取视频时长
  11. jenkins+docker 持续构建非docker in docker
  12. 【spring】spring_IOC和DI
  13. json字符串-单、双引号
  14. Vitamio 3.0 新手教程
  15. Ubuntu 20.04 nvtop 编译安装
  16. MAC常用快捷键和常规操作(一)
  17. CC26xx(CortexM3) UARTs
  18. 计算机高级培训教师感言,教师信息技术培训感言信息技术培训心得多篇.docx
  19. stm32f103c8t6串口数据包收发
  20. hibernate注解映射继承关系

热门文章

  1. Python中yield的作用:迭代生成器
  2. 【文献阅读】ResNet-Deep Residual Learning for Image Recognition--CVPR--2016
  3. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——I题 买花
  4. 第 19 次 CCF CSP 认证 202006-4 1246(digits)
  5. CS231n——编程作业环境配置
  6. 好用好玩的Python包
  7. 使用requests库实现多线程下载
  8. 立创EDA元件转换为AD库封装(Altium Designer)
  9. 【Spring Cloud】配置中心-Config
  10. J.U.C - AQS