构造一个集合

现在我们来构造一个集合。 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. malloc在函数内分配内存问题

    malloc函数用法可参考:C语言中 malloc函数用法 及 malloc函数 代码: void fun(char * p) { p=(); } void main() { char *p; fun ...

  2. 懒散惯了,该收收心了,两天了,封装了一个R0下注册表类

    写得乱七八糟.   看着自己写的代码,感觉都不像自己了.   我写的代码,风格这么差了么?思路这么乱了么?   我写代码这么累么?   不像以前的我了...   这段时间,太懒散了...   该继续努 ...

  3. [计蒜之道2019 复赛 A]外教 Michale 变身大熊猫

    [计蒜之道2019 复赛 A]外教 Michale 变身大熊猫 Online Judge:2019计蒜之道 复赛 A Label:LIS+线段树.树状数组+快速幂(模逆元) 题目描述 题解: pre. ...

  4. Leetcode946. Validate Stack Sequences验证栈序列

    给定 pushed 和 popped 两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true:否则,返回 false . 示例 1: 输入:pus ...

  5. gethostname gethostbyname gethostbyaddr 获得主机相关信息

    网络编程里经常需要获得主机的相关信息,下面围绕相关的函数以及用到的结构来说明. 获得主机名:int gethostname( char FAR *name, //[out] Pointer to a ...

  6. js实现事件委托

    事件委托的概念: 事件委托就是利用事件冒泡,把事件加到父元素或祖先元素上,触发执行效果. 事件委托的写法: btn6.onclick = function(event){ event = event ...

  7. centos yum 坏掉 db 损坏

    #首先清除掉缓存,之后再重建就可以了 rm -f /var/lib/rpm/__db* rpm --rebuilddb 提示的错误应该是: error: rpmdb: BDB0113 Thread/p ...

  8. qq邮箱html邮件,图片不显示的问题

    测试无论是站外的图片还是站内的图片,qq邮箱都会过滤图片,导致显示不出来. 解决办法:图片base64编码.效果图: 代码: <div class="container"&g ...

  9. 入门servlet:request获取请求参数通用方式

    一.获取请求参数通用方式 1. String getParameter(String name):根据参数名称获取参数值 例:username=flypig&password=2343 2. ...

  10. VS2013 IIS Express8.0

    1.下载最新版本的 Microsoft Web Platform Installer 5.0. 2.在组件列表中选择最新版本的 WebMatrix 3.0,安装重启后即可正常使用 IIS Expres ...