Loo*_*oom 33 c++ stl stdset insert-iterator
如果it1和it2之间有什么区别?
std::set<sometype> s;
auto it1 = std::inserter(s, s.begin());
auto it2 = std::inserter(s, s.end());
Run Code Online (Sandbox Code Playgroud)
Jam*_*nze 33
在实践中,并不多.如果你将大量已经在订单元素中插入一个空的set,那么第二个元素会更快一点,但这就是它. 用迭代器std::insert_iterator调用insert; std::set将其解释为提示,如果插入位于提示之前,则以恒定时间(而不是lg n)插入.(实际上,如果它set是空的,我认为两者都会完全相同.)
来自http://www.sgi.com/tech/stl/insert_iterator.html
但是,在Sorted Associative Container的情况下,insert_iterator的构造函数中的迭代器几乎不相关.新元素不一定会形成连续的范围; 它们将按键按升序显示在容器中的适当位置.它们的插入顺序仅影响效率:将已排序的范围插入到排序关联容器中是O(N)操作.
| 归档时间: |
|
| 查看次数: |
12589 次 |
| 最近记录: |