set:集合,存储唯一的值,并按升序排序。
#include <iostream>
#include <set>
std::set<int> mySet; // 创建一个整数类型的 set
insert(value)
:向集合中插入元素。
mySet.insert(1);
mySet.insert(2);
erase(value)
:从集合中删除指定元素。clear()
:删除集合中的所有元素。 mySet.erase(3);
find(value)
:查找集合中是否存在特定元素,返回迭代器。count(value)
:统计特定元素在集合中的出现次数(对于 std::set
,要么是0,要么是1)。====>可以用来判断元素是否存在 if (mySet.count(6) == 1) {
cout << "Set中存在元素6" << endl;
}
else
{
cout << "Set中不存在元素6" << endl;
}
set<int>::iterator it;
if (mySet.find(4) != mySet.end()) {
cout << "the Set exists 4" << endl;
}else {
cout << "the Set donesn't exists 4" << endl;
}
set<int>::iterator it = mySet.begin();
for (; it != mySet.end(); it++) {
cout << *it << endl;//迭代器相当于指针,所以要对指针解引用
}
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main() {
//1.创建set 无序不重复数组 {value1,value2,value3....}
set<int> mySet;
//2.添加元素
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);
mySet.insert(4);
mySet.insert(5);
mySet.insert(5);
//3.删除元素 erase(value)
mySet.erase(3);
//4.用count(value)函数判断是否存在某个元素
// 返回值 0,1
if (mySet.count(6) == 1) {
cout << "Set中存在元素6" << endl;
}
else
{
cout << "Set中不存在元素6" << endl;
}
//5.查找元素
set<int>::iterator it = mySet.begin();
for (; it != mySet.end(); it++) {
cout << *it << endl;//迭代器相当于指针,所以要对指针解引用
}
it = mySet.find(4);// 返回值为4的迭代器
cout <<"输出值为4的下一个元素:"<< * (++it) << endl;
//6.遍历set
for (int element : mySet) {
cout << element << " ";
}
return 0;
}
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
set<string> studentSet;
// 添加学生名字到集合
studentSet.insert("Alice");
studentSet.insert("Bob");
studentSet.insert("Charlie");
studentSet.insert("David");
// 重复添加相同的名字,不会有多个相同的名字出现
studentSet.insert("Alice");
// 查找学生名字是否存在
string nameToFind = "Bob";
if (studentSet.find(nameToFind) != studentSet.end()) {
cout << nameToFind << " is in the set." << endl;
}
else {
cout << nameToFind << " is not in the set." << endl;
}
// 删除学生名字
string nameToDelete = "Charlie";
studentSet.erase(nameToDelete);
// 输出所有学生名字
cout << "Student Names: ";
for (const string& name : studentSet) {
cout << name << " ";
}
cout << endl;
return 0;
}
那么set的用法就讲到这里,下一章看unordered_set的用法。
关注我,为大家持续分享更多的内容,让学习变得更简单,与君共勉,共同成长。
也可以关注我的公众号CoderSong
,查看更多精彩文章。