CSTL深入理解关联容器multimap和map及其查找操作
关联容器map和multimap为了实现接近于logn的查找(二分查找)效率,将一维的数据组织成二维的树型逻辑结构(红黑树做为底层逻辑结构)。由此,为了维护其元素有序结构,其增加元素的成员函数是insert(),而不是序列容器的push_back()或list、deque容器的push_front()。
关联容器multimap是一个key与多个value的映射关系。
关联容器map是一个key与一个value的映射关系。
因为map一一映射的特性,所以有额外的成员函数at()和重载操作符operator[]。
classification
function name
map
multi_map
constructor
map::map
multimap::multimap
destructor
map::~map
multimap::~multimap
member functions
at
N/A
begin
cbegin
cend
clear
count
crbegin
crend
emplace
emplace_hint
empty
end
equal_range
erase
find
get_allocator
insert
key_comp
lower_bound
max_size
operator=
operator[]
N/A
rbegin
rend
size
swap
upper_bound
value_comp
non-member overloads
relational operators
swap
1 multimap的单值查找查找 iterator find (const key_type& k); const_iterator find (const key_type& k) const;
demo:#include #include