c++ stl之所以得到廣泛讚譽,也被很多人使用,不只是提供了向vector,string,list等方便的容器,更重要的是stl封裝了許多複雜的資料結構演算法和常用的資料結構操作。vector封裝了陣列,list封裝了鍊錶,map和set封裝了二叉樹等。在封裝這些資料結構的時候,stl按照程式設計師的使用習慣,以成員函式方式提供了常用操作,如:插入,排序,刪除,查詢等。
set和map都是關聯式容器,它的特點是增加或刪除元素對迭代器的影響很小,除了操作的節點,其他節點都沒有什麼影響。
set也是用來儲存同一資料型別的資料,在set中每個元素都是唯一的,而且能夠根據元素的值自動進行排序。set中元素的值不能直接被改變。c++ stl中標準關聯容器set,multiset,map,multimap 內部採用的就是一種非常高效的平衡二叉樹:紅黑樹(rb樹),其統計效能要好於一般的二叉樹,所以被選擇為了關聯容器的內部結構。
參考:
c 中set用法詳解
1.關於set c stl 之所以得到廣泛的讚譽,也被很多人使用,不只是提供了像vector,string,list等方便的容器,更重要的是stl封裝了許多複雜的資料結構演算法和大量常用資料結構操作。vector封裝陣列,list封裝了鍊錶,map和set封裝了二叉樹等,在封裝這些資料結構的時候,s...
C 中set用法詳解
include include using namespace std intmain set int iterator it for it s.begin it s.end it 沒有值 cout s.begain s.begin cout lower buond 3 s.lower bound ...
set與map用法簡介
在介紹容器之前,我們先來介紹一下pair,pair是一種模板型別,每個pair可以儲存兩個值,這兩個值的型別可以是任何型別的。它定義在 include中。可以看到,pair的兩個成員分別是first和second。一 set 集合 set是一種key結構,它的元素就是它的鍵值,set不允許有兩個相同...