C++如何使用set集合?(去重与排序示例)

admin 百科 21
C++的set是基于红黑树实现的自动去重、升序排序关联容器,支持insert()返回值判重、自定义比较函数(如greater降序)、find/erase等O(log n)操作。

C++如何使用set集合?(去重与排序示例)-第1张图片-佛山资讯网

C++ 中的 set 是一个关联容器,自动去重且按升序排序(基于红黑树实现),无需手动排序或检查重复。它适合需要唯一、有序元素的场景,比如统计不重复关键词、维护有序ID列表等。

基本用法:定义、插入与遍历

包含头文件 <set></set>,定义 std::set<t></t>,插入用 insert(),遍历可用范围 for 或迭代器。

示例:存储整数并自动去重排序

#include <set>
#include <iostream>
using namespace std;

int main() {
    set<int> s;
    s.insert(5);  // 插入 5
    s.insert(2);  // 插入 2
    s.insert(5);  // 再插 5 → 无效果(已存在)
    s.insert(1);  // 插入 1

    for (int x : s) {
        cout << x << " ";  // 输出:1 2 5
    }
}

登录后复制

去重原理:insert() 返回值判断

set::insert() 返回一个 pair<iterator bool></iterator>,其中 second 表示是否成功插入(true = 新元素,false = 已存在)。

立即学习“C++免费学习笔记(深入)”;

标签: ai c++ ios stream

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~