set的基本使用
构造一个集合
现在我们来构造一个集合。 C++ 中直接构造一个 set的语句为: sets。这样我们定义了一个名为 s的、储存 T类型数据的 集合,其中 T是集合要储存的数据类型。初始的时候 s是空集合。
插入元素
C++ 中用 insert()方法向集合中插入一个新的元素。注意如果集合中已经存在了某个元素,再次 插入不会产生任何效果,集合中是不会出现重复元素的。
删除元素
C++ 中通过 erase()方法删除集合中的一个元素,如果集合中不存在这个元素,不进行任何操作。
查找元素
C++ 中如果你想知道某个元素是否在集合中出现,你可以直接用 count()方法。如果集合中存在我 们要查找的元素,返回 1,否则会返回 0。
遍历元素
C++ 通过迭代器可以访问集合中的每个元素,迭代器就好比指向集合中的元素的指针。
清空
C++ 和 Java 中都只需要调用 clear()方法就可清空 set或者 HashSet。
C++ set 方法总结
方法 功能
insert 插入一个元素
erase 删除一个元素
count 判断元素是否在 set中
size 获取元素个数
clear 清空
代码
#include <set>
#include <string>
#include <stdio.h>
using namespace std;
int main() {
set<string> country; // {}
country.insert("China"); // {"China"}
country.insert("America"); // {"China", "America"}
country.insert("France"); // {"China", "America", "France"}
country.erase("America"); // {"China", "France"}
country.erase("England"); // {"China", "France"}如果集合中不存在这个元素,不进行任何操作。
if (country.count("China")) {
printf("China belong to country");
}
for (set<string>::iterator it = country.begin(); it != country.end(); ++it) {
cout << (*it) << endl;
}//遍历set
return ;
}
随机推荐
- Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1
Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 or one of its dependencies could not be res ...
- <jsp:forward page=""></jsp:forward>标签失效异常
解决方案:在web.xml <filter-mapping> <filter-name>struts2</filter-name> ...
- Synchronized理解及用法
加锁: 1.同步实例方法,锁是当前实例对象 2.同步类方法,锁的是当前类对象 3.同步代码块,锁是括号里面的对象 原理: JVM内置锁通过synchronized使用,通过内部对象Monitor(监视 ...
- Java室内最短路径搜索(支持多楼层)
修改了上次的代码,现在支持室内的多楼层情况下的最短路径搜索,还是使用A*算法,把在GraphAdjList中VNode没有利用起来的data字段作为我们存储楼层属性的位置. 实际上是我偷懒了,正常情况 ...
- Python学习day39-并发编程(各种锁)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- vue 实现单选框
参考:https://blog.csdn.net/qq_42221334/article/details/81630634 效果: vue: <template> <div> ...
- 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue
jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...
- 实战课堂 | MongoDB如何使用内存?内存满了怎么破?
最近接到多个MongoDB内存方面的线上case及社区问题咨询,主要集中在: 为什么我的 MongoDB 使用了 XX GB 内存? 一个机器上部署多个 Mongod 实例/进程,WiredTiger ...
- vue 编写插件
1. 将插件逻辑封装成一个对象 最后在install编写业务代码暴露给Vue对象 好处: 可以添加任意参数在这个对象上 方便将install函数封装的更加精简 可拓展性也比较高 2. 将所有 ...
- NSIS使用WinVer.nsh头文件判断操作系统版本
NSIS使用WinVer.nsh头文件判断操作系统版本,首先请下载最新的WinVer.nsh: http://nsis.sourceforge.net/Include/WinVer.nsh(下载后置于 ...