C++ set集合的增删改查操作

   2024-09-30 7130
核心提示:C++ 中的 set 是一个关联容器,它包含了一组唯一的元素。set 中的元素在插入时自动排序。下面是对 C++ set 集合进行增删改查操作

C++ 中的 set 是一个关联容器,它包含了一组唯一的元素。set 中的元素在插入时自动排序。下面是对 C++ set 集合进行增删改查操作的方法:

1. 增加元素(Insert)

使用 insert() 函数向 set 中添加元素。如果添加的元素已经存在于集合中,则不会发生任何操作。

#include<iostream>#include <set>int main() {    std::set<int> mySet;        // 插入元素    mySet.insert(5);    mySet.insert(1);    mySet.insert(9);    // 输出集合中的元素    for (int x : mySet) {        std::cout << x << " ";    }    std::cout<< std::endl;    return 0;}

2. 删除元素(Erase)

使用 erase() 函数从 set 中删除元素。可以通过传递一个元素值或迭代器来删除元素。

#include<iostream>#include <set>int main() {    std::set<int> mySet = {1, 3, 5, 7, 9};    // 删除元素    mySet.erase(5);    mySet.erase(mySet.find(3));    // 输出集合中的元素    for (int x : mySet) {        std::cout << x << " ";    }    std::cout<< std::endl;    return 0;}

3. 修改元素(Not supported directly)

由于 set 中的元素是唯一的,并且自动排序,因此不能直接修改元素。要修改元素,需要先删除旧元素,然后插入新元素。

#include<iostream>#include <set>int main() {    std::set<int> mySet = {1, 3, 5, 7, 9};    // 修改元素(先删除旧元素,再插入新元素)    mySet.erase(5);    mySet.insert(6);    // 输出集合中的元素    for (int x : mySet) {        std::cout << x << " ";    }    std::cout<< std::endl;    return 0;}

4. 查找元素(Find)

使用 find() 函数查找 set 中的元素。如果找到该元素,则返回一个指向该元素的迭代器;否则,返回一个指向 set 末尾的迭代器。

#include<iostream>#include <set>int main() {    std::set<int> mySet = {1, 3, 5, 7, 9};    // 查找元素    auto it = mySet.find(5);    if (it != mySet.end()) {        std::cout << "Found: " << *it<< std::endl;    } else {        std::cout << "Not found"<< std::endl;    }    return 0;}

这些是 C++ set 集合的基本增删改查操作。注意,由于 set 中的元素是唯一的,所以不支持直接修改元素。要修改元素,需要先删除旧元素,然后插入新元素。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号