C++集合容器接口函数全解析:set、unordered_set、multiset

一、基础操作接口

1. 元素插入

函数声明 容器支持 功能说明 时间复杂度
iterator insert(value) 全部 插入单个元素 set/multiset: O(logN)
unordered: O(1)~O(N)
void insert(iter first, iter last) 全部 插入范围元素 O(N * logN)

代码示例

set<int> s;
s.insert(5);                    // 插入单个元素
vector<int> v{
   2,4,6};
s.insert(v.begin(), v.end());   // 插入范围
s.emplace(3);                   // 直接构造,避免拷贝

2. 元素删除

函数声明 容器支持 功能说明 时间复杂度
size_type erase(key) 全部 删除所有匹配元素 set: O(logN + M)
unordered: O(M)
iterator erase(iter pos) 全部 删除指定位置元素 平均O(1)
iterator erase(iter first, iter last) 全部 删除范围元素 O(M)
void clear() 全部 清空所有元素 O(N)

代码示例

multiset<int> ms{
   1,1,2,3};
ms.erase(1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值