[英]Is std::advance on an iterator of std::multiset done in constant time?
我想知道在std :: multiset的迭代器上調用std :: advance是否在恆定時間內完成。
不,只有隨機訪問迭代器才能在恆定時間內進行。 否則,它是距離的線性時間。
從std::advance
,我們看到
復雜
線性的 但是,如果InputIt額外滿足RandomAccessIterator的要求,則復雜度是恆定的。
由於std::*map
和std::*set
系列中的任何模板都不滿足RandomAccessIterator
要求,因此它是線性的。 從例如這里 :
會員類型
[...]
iterator
Constant BidirectionalIterator
const_iterator
常數BidirectionalIterator
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.