蓝桥备赛指南(6)

news2025/2/4 13:05:14

这篇文章非常简单!重点只有两个,而且都和set非常相似。

se集合

set简介

首先,set集合是一种容器,用于存储一组唯一的元素,并按照一定的排序规则进行排序,set中的元素是按照升序排序的,默认情况下,它使用元素的比较运算符来进行排序。

其次,set的内部实现使用了红黑树(一种自平衡的二叉搜索树)来存储元素,并保存元素的有序性。这使得在set中插入、删除和查找元素的时间复杂度都是对数时间

最后,set中的元素是唯一的,即不允许重复的元素存在。当插入一个重复的元素时,set会自动忽略该元素

set集合常用函数

1.insert()函数:向集合中插入元素

2.erase()函数:从集合中移除元素

3.find()函数:查找集合中的元素;

4.lower_bound()函数:返回第一个不小于给定值的迭代器

5.uper_bound()函数:返回第一个大于给定值的迭代器

6.equal_range()函数:返回一个范围,其中包含所有给定值元素;

7.size()函数:返回集合中元素的数量;

8.empty()函数:检查集合是否为空;

9.clear()函数:清空集合

10.begin()函数:返回指向集合起始位置的迭代器;

11.end()函数:返回指向集合末尾位置的迭代器;

12.rbegin()函数:返回指向集合末尾位置的逆向迭代器

113.rend()函数:返回指向集合起始位置的逆向迭代器

修改set比较方法

示例1:

int main() {
	set<int, greater<int>> mySet;
	mySet.insert(25);
	mySet.insert(17);
	mySet.insert(39);
	mySet.insert(42);
	for(const auto & elem:mySet) {
		cout << elem << " ";
	}
	cout << endl;
	return 0;
}

示例2:

//重载函数
struct Mycompare {
	bool operator()(const int& a, const int& b) const {
		return a > b;
	}
};

int main() {
	set<int, MyCompare> mySet;
	mySet.insert(25);
	mySet.insert(17);
	mySet.insert(39);
	mySet.insert(42);
	for (const auto& elem : mySet) {
		cout << elem << " ";
	}
	cout << endl;
	return 0;
}

multiset多重集合

multiset函数简介

multiset和set类似。multiset是一种容器,用于存储一组元素,并按照一定的排序规则进行排序。除此之位,mutiset的内部实现也使用红黑树来存储元素,并保持元素的有序性,与set不同的是,mutiset中的元素可以重复实现

mutiset集合常用函数:详见set集合

代码示例

示例1:

int main() {
	set<int> mySet;
	mySet.insert(5);
	mySet.insert(2);
	mySet.insert(8);
	mySet.insert(2);
	cout << "Set elements: ";
	for (const auto& elem : mySet) {
		cout << elem << " ";
	}
	cout << endl;
	int searchValue = 5;
	auto it = mySet.find(searchValue);
	if (it != mySet.end()) {
		cout << searchValue << " found in the set." << endl;
	}
	else {
		cout << searchValue << " not found in the set. " << endl;
	}
	return 0;
}

示例2:

int main() {
	set<int> mySet;
	mySet.insert(5);
	mySet.insert(2);
	mySet.insert(8);
	mySet.insert(2);
	for (const int& elem : mySet) {
		cout << elem << " ";
	}
	cout << endl;
	int removeValue = 2;
	mySet.erase(removeValue);
	cout << "Set elements after removal: ";
	for(const auto & elem:mySet) {
		cout << elem << " ";
	}
	cout << endl;
	mySet.clear();
	if (mySet.empty()) {
		cout << "Set is empty." << endl;
	}
	else {
		cout << "Set is not empty." << endl;
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2291791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

路径规划之启发式算法之二十九:鸽群算法(Pigeon-inspired Optimization, PIO)

鸽群算法(Pigeon-inspired Optimization, PIO)是一种基于自然界中鸽子群体行为的智能优化算法,由Duan等人于2014年提出。该算法模拟了鸽子在飞行过程中利用地标、太阳和磁场等导航机制的行为,具有简单、高效和易于实现的特点,适用于解决连续优化问题。 更多的仿生群体算法…

【leetcode练习·二叉树拓展】快速排序详解及应用

本文参考labuladong算法笔记[拓展&#xff1a;快速排序详解及应用 | labuladong 的算法笔记] 1、算法思路 首先我们看一下快速排序的代码框架&#xff1a; def sort(nums: List[int], lo: int, hi: int):if lo > hi:return# 对 nums[lo..hi] 进行切分# 使得 nums[lo..p-1]…

华为IoTDA平台两个设备之间通信的过滤条件如何设置

目录 引言 过滤规则 特定topic转发 特定设备转发 特定产品转发 特定数据转发 结语 参考资料 引言 前一篇博文介绍了如何在两个设备之间进行通信转发。和利用topic进行转发相比&#xff0c;华为的这种方法比较麻烦&#xff0c;但是它功能比较强&#xff0c;包括可以利用…

Docker 安装详细教程(适用于CentOS 7 系统)

目录 步骤如下&#xff1a; 1. 卸载旧版 Docker 2. 配置 Docker 的 YUM 仓库 3. 安装 Docker 4. 启动 Docker 并验证安装 5. 配置 Docker 镜像加速 总结 前言 Docker 分为 CE 和 EE 两大版本。CE即社区版&#xff08;免费&#xff0c;支持周期7个月&#xff09;&#xf…

FreeRTOS从入门到精通 第十三章(信号量)

参考教程&#xff1a;【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili 一、信号量知识回顾 1、概述 &#xff08;1&#xff09;信号量是一种解决同步问题的机制&#xff0c;可以实现对共享资源的有序访问&#xff0c;FreeRTOS中使用的是二值信号量、计数型信号…

pstricks PGFTikz 在CTeX套装中绘图Transparency或Opacity失效的问题

我在CTeX中画图的时候&#xff0c;习惯用Geogebra先画好&#xff0c;然后生成pstricks或PGFTikz代码&#xff1a; 这样不用插入eps或pdf之类的图片&#xff0c;也是一种偷懒的方法。以前往arXiv.org上面传论文也是这样&#xff1a;代码出图&#xff0c;就不用另外上传一幅eps或…

FPGA学习篇——开篇之作

今天正式开始学FPGA啦&#xff0c;接下来将会编写FPGA学习篇来记录自己学习FPGA 的过程&#xff01; 今天是大年初六&#xff0c;简单学一下FPGA的相关概念叭叭叭&#xff01; 一&#xff1a;数字系统设计流程 一个数字系统的设计分为前端设计和后端设计。在我看来&#xff0…

C++底层学习预备:模板初阶

文章目录 1.编程范式2.函数模板2.1 函数模板概念2.2 函数模板原理2.3 函数模板实例化2.3.1 隐式实例化2.3.2 显式实例化 2.4 模板参数的匹配原则 3.类模板希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 进入STL库学习之前我们要先了解有关模板的…

【玩转 Postman 接口测试与开发2_014】第11章:测试现成的 API 接口(下)——自动化接口测试脚本实战演练 + 测试集合共享

《API Testing and Development with Postman》最新第二版封面 文章目录 3 接口自动化测试实战3.1 测试环境的改造3.2 对列表查询接口的测试3.3 对查询单个实例的测试3.4 对新增接口的测试3.5 对修改接口的测试3.6 对删除接口的测试 4 测试集合的共享操作4.1 分享 Postman 集合…

Linux03——常见的操作命令

root用户以及权限 Linux系统的超级管理员用户是&#xff1a;root用户 su命令 可以切换用户&#xff0c;语法&#xff1a;su [-] [用户名]- 表示切换后加载环境变量&#xff0c;建议带上用户可以省略&#xff0c;省略默认切换到root su命令是用于账户切换的系统命令&#xff…

w188校园商铺管理系统设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

leetcode——二叉树的最近公共祖先(java)

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节点也可以是它自己的…

基于FPGA的BT656编解码

概述 BT656全称为“ITU-R BT.656-4”或简称“BT656”,是一种用于数字视频传输的接口标准。它规定了数字视频信号的编码方式、传输格式以及接口电气特性。在物理层面上,BT656接口通常包含10根线(在某些应用中可能略有不同,但标准配置为10根)。这些线分别用于传输视频数据、…

解锁数据结构密码:层次树与自引用树的设计艺术与API实践

1. 引言&#xff1a;为什么选择层次树和自引用树&#xff1f; 数据结构是编程中的基石之一&#xff0c;尤其是在处理复杂关系和层次化数据时&#xff0c;树形结构常常是最佳选择。层次树&#xff08;Hierarchical Tree&#xff09;和自引用树&#xff08;Self-referencing Tree…

本地快速部署DeepSeek-R1模型——2025新年贺岁

一晃年初六了&#xff0c;春节长假余额马上归零了。今天下午在我的电脑上成功部署了DeepSeek-R1模型&#xff0c;抽个时间和大家简单分享一下过程&#xff1a; 概述 DeepSeek模型 是一家由中国知名量化私募巨头幻方量化创立的人工智能公司&#xff0c;致力于开发高效、高性能…

使用VCS进行单步调试的步骤

使用VCS对SystemVerilog进行单步调试的步骤如下&#xff1a; 1. 编译设计 使用-debug_all或-debug_pp选项编译设计&#xff0c;生成调试信息。 我的4个文件&#xff1a; 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;always (posedge clk) beg…

【Elasticsearch】硬件资源优化

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

QT+mysql+python 效果:

# This Python file uses the following encoding: utf-8 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox from PySide6.QtGui import QStandardItemModel, QStandardItem # 导入需要的类# Important: # 你需要通过以下指令把 form.ui转为ui…

回顾生化之父三上真司的游戏思想

1. 放养式野蛮成长路线&#xff0c;开创生存恐怖类型 三上进入capcom后&#xff0c;没有培训&#xff0c;没有师傅手把手的指导&#xff0c;而是每天摸索写策划书&#xff0c;老员工给出不行的评语后&#xff0c;扔掉旧的重写新的。 然后突然就成为游戏总监&#xff0c;进入开…

Java循环操作哪个快

文章目录 Java循环操作哪个快一、引言二、循环操作性能对比1、普通for循环与增强for循环1.1、代码示例 2、for循环与while循环2.1、代码示例 3、循环优化技巧3.1、代码示例 三、循环操作的适用场景四、使用示例五、总结 Java循环操作哪个快 一、引言 在Java开发中&#xff0c;…