STL(2) 关联容器之Set和Multiset几个要点

本文探讨了STL容器内部实现机制,通常采用红黑树结构,并详细解释了几种高效的查找算法,如lower_bound和upper_bound,这些算法的时间复杂度为对数级别。此外,文章还讨论了双向迭代器的应用场景、remove算法的正确使用方法以及多元素插入时的异常处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.虽然STL并未明确说明他们的内部实现,但是多为红黑树;

2.容器的元素类型与其排序标准必须拥有相同的类型,否则会在编译器发生类型错误;

3.几个特别的查找算法。相对于普适的具有线性复杂度的算法来说,其具有对数的复杂度,是由于其内部实现的机制决定的。

c.lower_bound(val);返回一个不小于val的迭代器位置;

c.upper_bound(val);返回一个大于val的迭代器位置;

4.拥有双向迭代器;--bidirectional iterator;而不是随机迭代器;

5.对于remove算法,只需应用成员函数,而不是普适算法;

6.多元素插入算法遇异常不具有恢复功能,而单元素插入,支持提交和回滚的功能,也就是说要么成功,要么没有影响;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值