분명히 ;-) 표준 컨테이너는 어떤 형태의 보증을 제공합니다.
어떤 유형의 보증과 다른 유형의 컨테이너 사이의 차이점은 정확히 무엇입니까?
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 참조
—
Martin York
@MartinYork 그 링크는 이제 죽었습니다.
—
Chani
john-ahlgren.blogspot.com/2013/10/… 여기를보세요 :)
—
Shalomi11