STL库之集合基本使用方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL库之集合基本使用方法相关的知识,希望对你有一定的参考价值。
引言:
集合是数学中的一个概念,集合是由一些不重复的数据组成的。
在C++中我们常用的集合是set。
一、引用库
c++中set的实现在一个<set>头文件中,在代码开头引入这个头文件,并且同样加上一句using namespace std
二、构造一个集合
C++中直接构造一个set的语句是:set<int>a.这样我们就定义了一个名为a的、储存数据类型为int的集合(与vector类似)
三、插入元素
使用insert()函数向集合中插入一个新的元素。注意如果结合中已经存在了某个元素,再次插入不会产生任何效果,集合中是不会出现相同元素的。
同时用法也和vector一样,需要用集合名去引线
四、删除元素
用erase()函数删除集合中的一个元素,如果集合中没有和删除的元素,不进行任何操作
五、判断元素是否存在
直接使用count()函数。如果集合中存在我们要查找的元素,返回1,否则就返回0,尽管count()函数返回值是int类型,但他就返回1或0(所以我们可以使用count函数直接放入循环/判断条件)
六、遍历元素(迭代器的方法)
C++通过迭代器可以访问集合中的每一个元素,迭代器就好像一根手指指向set中的某个元素。通过操作这个手指,我们可以改变它指向的元素。通过*(解引用操作符)操作可以获取迭代器指向的元素。通过++操作让迭代器指向下一个元素,同理--操作让迭代器指向上一个元素。
迭代器的写法比较固定,set<T>::iterator it就定义了指向set<T>这种集合的迭代器it,T是任意的数据类型。其中::iterator是固定的写法。begin函数返回容器中其实元素的迭代器,end函数返回容器的尾后迭代器。(尾后迭代器表示在end后面一位的元素)
#include<set>//数据结构set的头文件
#include<string>
using namespace std;//一定不要忘
int main()
set<string> country;// 定义set
country.insert("china");//"china"插入元素China
country.insert("america");//"China","American"插入元素American
country.insert("france");
country.erase("france");//清空集合中某一个具体的元素
for (set<string>::iterator it=country.begin();it!=country.end();it++)//迭代器使用的方法,先记住!
cout << *it << ;
return 0;
最好先记住迭代器于for循环中使用的方法
七、清空
clear()函数用于清空set,同时会清空set所占的内存
以上是关于STL库之集合基本使用方法的主要内容,如果未能解决你的问题,请参考以下文章