#include #include #include #include using namespace std;
/* 關聯容器之set與multiset
set集合容器,實際是一棵樹,每棵子樹的左結點小於根節點的值,
而根節點的值小於右節點的值,整棵樹可以用中序遍歷得到乙個
set的元素不能重複,multiset的元素可以重複
*/int main()
; //用陣列建立set first last
setm_set(s, s+6);
//遍歷
set::iterator iter_set;
for (iter_set = m_set.begin(); iter_set != m_set.end(); ++iter_set)
cout//插入重複元素
m_multset.insert(8);
//輸出迭代器遍歷
copy(m_multset.begin(), m_multset.end(), ostream_iterator(cout, " "));
cout<
關聯容器 set
set容器用來儲存同一資料型別的資料,並且能從乙個資料集合中取出資料,在set中每個元素的值都唯一,而且系統能根據元素的值自動進行排序,set元素的值不能直接被改變。set容器內部採用一種非常高效平衡檢索二叉樹 紅黑樹 mset.begin 返回set容器的第乙個元素的迭代器 mset.end 返回...
STL學習筆記7 容器set和multiset
在標頭檔案中定義 namespace std set和multiset都是關聯容器,是有序的集合,集合中包含不可重複的 型別為key的元素。排序通過使用型別為compare的比較函式比較來實現。搜尋,刪除和插入操作具有對數時間複雜度。set和multiset通常都以紅黑樹實現。multiset相對s...
C 高階 STL原始碼之set與multiset
set的特性是,所有元素都會根據元素的鍵值自動被排序,set元素的鍵值就是實值,實值就是鍵值,set不允許兩個元素有相同的鍵值。set的元素值不可以通過迭代器來改變,因為set元素就是其鍵值,關係到set元素的排列規則 如果任何改變set元素值,會嚴重破壞set組織。set是以rb tree作為底層...