构造一个集合

现在我们来构造一个集合。 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 ;
}

随机推荐

  1. Spring Boot配置公共的线程池

    内存资源很宝贵,线程池资源不宜过多的创建,同一个应用,尽量使用统一的线程池,并且相关参数需要设置适当,不造成资源的浪费,也不影响性能的提升. import java.util.concurrent.T ...

  2. [转]WPF--模板选择

    典型的,把模板关联到一块特定的数据上,不过通常希望动态的确定使用哪个模板---既可以基于一个属性值,也可以是一个全局状态.当真正需要大规模替换模板时,也可以使用DataTemplateSelector ...

  3. Redis开发及管理实战

    目录 Redis数据类型 字符串 String string类型操作 字典 Hash 列表 List 集合 Set 有序集合 SortedSet 生产消费模型 Redis事务管理 事务命令 示例 Re ...

  4. Ionic 发送Http post PHP 获取不到数据

    1.app.js 配置请求设置 $httpProvider.defaults.headers.post={ 'Content-Type':'application/x-www-form-urlenco ...

  5. PAT甲级——A1037 Magic Coupon

    The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, m ...

  6. netbeans 8.2 系统找不到指定的文件。

    系统找不到指定的文件.Using CATALINA_BASE: "C:\Users\wishr\AppData\Roaming\NetBeans\8.2\apache-tomcat-8.0. ...

  7. 数据交换格式之 - Json

    Json简介: JSON是JavaScript对象表示法,是一种与语言无关的数据交换的格式,是一种完全独立于语言的文本格式. 使用ajax进行前后台数据交换,移动端与服务端的数据交换. web客户端和 ...

  8. pycharm新手入门

    1.新建项目 2.配置 3.create 4.新建.py文件 5.可以愉快的敲代码啦

  9. Vue. 之 报错 Uncaught (in promise)

    Vue. 之 报错 Uncaught (in promise) 在点击同一个URL的时候,会报错如下: 解决方案: 在项目目录下运行 npm i vue-router@3.0 -S 即可.

  10. Leetcode86. Partition List分隔链表(双指针)

    给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1->4-&g ...