c++set容器完全攻略

一、创建set容器

使用set容器需要包含头文件 #include,创建一个空的set容器十分简单:

std::set mySet;

以上代码已经创建了一个空的set容器,可以开始往里面添加元素。

二、set容器元素的添加与删除

set容器内的元素都是唯一的、且按照一定的规则进行排序的。set容器的元素插入和删除非常简单。

元素的插入可以通过insert函数实现:

std::set mySet;
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);

元素的删除可以通过erase函数实现,其中包含一个参数表示要删除的元素,如果没有该元素,则不进行任何操作:

mySet.erase(2);

三、set容器的遍历

set容器自带排序,可以直接进行遍历。

使用auto关键字也可以快速遍历所有元素,例如:

std::set mySet{1, 5, 3, 2, 4};

for (auto i : mySet) {
    std::cout << i << " ";
}
// 打印结果:1 2 3 4 5

四、set容器的查找

set容器提供了find函数用于查找元素,如果找到则返回该元素的迭代器,否则返回end()迭代器。

std::set mySet{1, 5, 3, 2, 4};

auto iterator = mySet.find(3);
if (iterator != mySet.end()) {
    std::cout << "3 exists in mySet" << std::endl;
}

五、set容器的特性与应用

set容器只存储唯一的元素,可以用于去重。同时set容器也自带排序功能,可以用于排序操作。

例如,可以使用set容器对字符串进行去重操作:

std::set mySet{"apple", "banana", "grape", "apple"};
for (auto i : mySet) {
    std::cout << i << " ";
}
// 打印结果:apple banana grape

set容器也可以用于查找一组元素是否包含在另一组元素中,例如判断两个字符串是否包含相同的字母:

std::set strSet1{'a', 'b', 'c', 'd'};
std::set strSet2{'c', 'b', 'd', 'a'};

bool isEqual = (strSet1 == strSet2);
std::cout << isEqual;
// 打印结果:1

六、set容器示例代码

以下是一个完整的set容器示例代码:

#include 
#include 

int main() {
    std::set mySet{1, 5, 3, 2, 4};

    // 遍历
    for (auto i : mySet) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 添加元素
    mySet.insert(6);

    // 删除元素
    mySet.erase(2);

    // 查找元素
    auto iterator = mySet.find(3);
    if (iterator != mySet.end()) {
        std::cout << "3 exists in mySet" << std::endl;
    }

    // 去重过滤重复元素
    std::set myStringSet{"apple", "banana", "grape", "apple"};
    for (auto i : myStringSet) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 判断两个set是否相等
    std::set strSet1{'a', 'b', 'c', 'd'};
    std::set strSet2{'c', 'b', 'd', 'a'};

    bool isEqual = (strSet1 == strSet2);
    std::cout << isEqual;

    return 0;
}

原创文章,作者:PYNH,如若转载,请注明出处:https://www.506064.com/n/136487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PYNHPYNH
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相关推荐

  • Python中set函数的作用

    Python中set函数是一个有用的数据类型,可以被用于许多编程场景中。在这篇文章中,我们将学习Python中set函数的多个方面,从而深入了解这个函数在Python中的用途。 一…

    编程 2025-04-29
  • Python Set元素用法介绍

    Set是Python编程语言中拥有一系列独特属性及特点的数据类型之一。它可以存储无序且唯一的数据元素,这使得Set在数据处理中非常有用。Set能够进行交、并、差集等操作,也可以用于…

    编程 2025-04-29
  • 解决docker-compose 容器时间和服务器时间不同步问题

    docker-compose是一种工具,能够让您使用YAML文件来定义和运行多个容器。然而,有时候容器的时间与服务器时间不同步,导致一些不必要的错误和麻烦。以下是解决方法的详细介绍…

    编程 2025-04-29
  • Python set去重保留原顺序

    当一个列表中出现重复的元素时,为了去除这些重复元素可以使用Python提供的集合(set)数据结构,集合可以去除元素的重复出现。然而,这样会导致原有的元素顺序混乱,这时,需要使用一…

    编程 2025-04-27
  • Python数据容器切片

    本文将从多个方面详细阐述Python数据容器切片的应用、技巧和方法。 一、切片的基本操作 Python的数据容器包括字符串、列表、元组、字典等,而切片是对这些容器进行子序列提取的常…

    编程 2025-04-27
  • Docker批量删除容器详解

    一、前言 Docker是一个开源的应用容器引擎,提供了一种轻量级容器化技术,方便快捷的进行应用打包、发布、运行。作为广泛应用的技术之一,Docker是开发、测试、运维的得力助手。但…

    编程 2025-04-25
  • Java Tomcat:Web应用程序的完美容器

    一、浅谈Tomcat Tomcat,全称为Apache Tomcat,是一个免费的、开源的Java Servlet容器,而Java Servlet是一种服务器端的Java扩展程序,…

    编程 2025-04-25
  • Java 数组转 Set

    一、Set 和数组的概念 在 Java 中,Set 是一种不允许重复元素的 Collection 集合。和 List 不同,Set 不保证元素的顺序。而数组是一种特殊的数据结构,它…

    编程 2025-04-25
  • Python中的set.count

    一、概述 在Python中,set是一种无序、可变的集合类型。set.count方法用于统计set中某个元素出现的次数。它接受一个参数,即要统计出现次数的元素。如果参数元素不在se…

    编程 2025-04-25
  • 深入理解Docker容器和镜像的关系

    一、Docker容器和镜像的基本概念 Docker是一种虚拟化容器技术,它可以划分出多个隔离环境,让不同的应用程序在同一台机器上运行,而不会相互影响。Docker主要包含两个基本概…

    编程 2025-04-24

发表回复

登录后才能评论