どうやら;-)標準コンテナは何らかの形の保証を提供します。
どのタイプの保証があり、正確には、異なるタイプのコンテナの違いは何ですか?
SGIページからの作業(STLについて)私はこれを思いつきました:
Container Types:
================
Container:
Forward Container
Reverse Container
Random Access Container
Sequence
Front Insert Sequence
Back Insert Sequence
Associative Container
Simple Associative Container
Pair Associative Container
Sorted Associative Container
Multiple Associative Container
Container Types mapped to Standard Containers
=============================================
std::vector: Sequence Back Sequence Forward/Reverse/Random Container
std::deque: Sequence Front/Back Sequence Forward/Reverse/Random Container
std::list: Sequence Front/Back Sequence Forward/Reverse Container
std::set: Sorted/Simple/Unique Associative Container Forward Container
std::map: Sorted/Pair/Unique Associative Container Forward Container
std::multiset: Sorted/Simple/Multiple Associative Container Forward Container
std::multimap: Sorted/Pair/Multiple Associative Container Forward Container
Container Guarantees:
=====================
Simp
or
For Rev Rand Front Back Assoc Sort Mult
Cont: Cont: Cont Cont: Sequ: Sequ: Sequ: Cont: Cont: Cont:
Copy Const: O(n)
Fill Const: O(n)
begin() O(1)
end() O(1)
rbegin() O(1)
rend() O(1)
front() O(1)
push_front() O(1)
pop_front() O(1)
push_back() O(1)
pop_back() O(1)
Insert() O(ln(n))
Insert: fill O(n)
Insert: range O(n) O(kln(n)+n)
size() O(n)
swap() O(1)
erase key O(ln(n))
erase element O(1)
erase range O(ln(n)+S)
count() O(log(n)+k)
find() O(ln(n))
equal range O(ln(n))
Lower Bound/Upper Bound O(ln(n))
Equality O(n)
InEquality O(n)
Element Access O(1)
ここから開始:STL複雑度の仕様。次に、そのサイトのすべてのコンテナータイプを読み、記載されている複雑さの要件を確認します。お役に立てれば!
—
Chris Jester-Young、
私のクラスで勉強するためにあなたの作品のコピーをもらえますか?
—
Dzung Nguyen、
@nXqd:www.sgi.com/tech/stlを参照
—
マーティンヨーク
@MartinYorkそのリンクは現在死んでいます。
—
チャニー2018年
john-ahlgren.blogspot.com/2013/10/…ここをご覧ください:)
—
Shalomi11