1.虽然STL并未明确说明他们的内部实现,但是多为红黑树;
2.容器的元素类型与其排序标准必须拥有相同的类型,否则会在编译器发生类型错误;
3.几个特别的查找算法。相对于普适的具有线性复杂度的算法来说,其具有对数的复杂度,是由于其内部实现的机制决定的。
c.lower_bound(val);返回一个不小于val的迭代器位置;
c.upper_bound(val);返回一个大于val的迭代器位置;
4.拥有双向迭代器;--bidirectional iterator;而不是随机迭代器;
5.对于remove算法,只需应用成员函数,而不是普适算法;
6.多元素插入算法遇异常不具有恢复功能,而单元素插入,支持提交和回滚的功能,也就是说要么成功,要么没有影响;
本文探讨了STL容器内部实现机制,通常采用红黑树结构,并详细解释了几种高效的查找算法,如lower_bound和upper_bound,这些算法的时间复杂度为对数级别。此外,文章还讨论了双向迭代器的应用场景、remove算法的正确使用方法以及多元素插入时的异常处理策略。
2万+

被折叠的 条评论
为什么被折叠?



