1、multimap是關聯式容器,它按特定的次序(按照key來比較)儲存由鍵key和值value組合而成的元素,多個鍵值對之間的key可以重複函式宣告2、在multimap中,鍵值key通常用於排序和唯一標識元素,值value中儲存與鍵key關聯的內容。
3、multimap按照指定的嚴格弱排序對key進行排序
4、multimap中通過鍵值訪問單個元素比unordered_multimap容器慢,使用迭代器直接遍歷multimap的元素可以得到關於key有序的序列
5、multimap的底層通常是平衡二叉搜尋樹(紅黑樹)
6、multimap和map的唯一區別是multimap中的key可以重複,而map的key是唯一的
功能簡介
explicit multimap (const key_compare& comp =key_compare(), const allocator_type& alloc = allocator_type());
構造乙個空的multimap
template multimap (inputiterator first, inputiterator last,const key_compare& comp = key_compare(), const allocator_type& alloc = allocator_type());
用[first,last)區間中的元素構造multimap
multimap (const multimap& x);
multimap的拷貝構造
函式宣告
功能簡介
iterator begin ()
返回第乙個元素的位置
iterator end ()
返回最後乙個元素的下乙個位置
const_iterator begin () const
返回第乙個元素的const迭代器
const_iterator end () const
返回最後乙個元素下乙個位置的const迭代器
reverse_iterator rbegin()
返回第乙個元素位置的反向迭代器即rend
reverse_iterator rend()
返回最後乙個元素下乙個位置的反向迭代器即rbegin
const_reverse_iterator rbegin()const
返回第乙個元素位置的const反向迭代器即rend
const_reverse_iterator rend() const
返回最後一元素下乙個位置的反向迭代器即rbegin
函式宣告
功能簡介
bool empty ( ) const
檢測multimap中的元素是否為空,是返回true,否則返回false
size_type size() const
返回multimap中有效元素的個數
iterator insert (const value_type& val)
在multimap中插入鍵值對x,注意x是乙個鍵值對,返回值也是鍵值對:iterator代表新插入元素的位置,bool代表釋放插入成功
iterator insert (iterator position, const value_type& val);
template void insert (inputiterator first, inputiterator last);
在multimap中插入[first, last)區間中的元素
void erase ( iterator position )
刪除position位置上的元素
size_type erase ( const key_type& x )
刪除鍵值為x的元素
void erase ( iterator first, iterator last )
刪除[first, last)區間中的元素
void swap (multimap& mp )
交換兩個multimap中的元素
void clear ( )
將multimap中的元素清空
iterator find ( const key_type& x )
在multimap中插入key為x的元素,找到返回該元素的位置的迭代器,否則返回end
const_iterator find ( const key_type& x ) const
在multimap中插入key為x的元素,找到返回該元素的位置的const迭代器,否則返回cend
size_type count ( const key_type&x ) const
返回key為x的鍵值在multimap中的個數,注意multimap中key是唯一的,因此該函式的返回值要麼為0,要麼為1,因此也可以用該函式來檢測乙個key是否在multimap中
#include #include #include using namespace std;
int main()
cout << endl;
else
system("pause");
return 0;
}
STL裡的multimap使用簡介
在 使用 庫建立關聯容器 一文中,我們討論了標準庫中的 map 關聯容器。但那只是 map 容器的一部分。標準庫還定義了乙個 multimap 容器,它與 map 類似,所不同的是它允許重複鍵。這個屬性使得 multimap 比預想的要更有用 比如在 簿中相同的人可以有兩個以上 號碼,檔案系統中可以...
STL裡的multimap使用簡介
在 使用 庫建立關聯容器 一文中,我們討論了標準庫中的 map 關聯容器。但那只是 map 容器的一部分。標準庫還定義了乙個 multimap 容器,它與 map 類似,所不同的是它允許重複鍵。這個屬性使得 multimap 比預想的要更有用 比如在 簿中相同的人可以有兩個以上 號碼,檔案系統中可以...
C 的map與multimap的使用
map 鍵 值對的集合,可理解為關聯陣列。include include using namespace std int main 利用insert插入 while cin word erase刪除鍵為june的元素 word cnt.erase june 迭代遍歷 map const iterat...