關聯容器之set與multiset

2021-06-18 07:13:27 字數 559 閱讀 7111

#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作為底層...