std::set
引用cplusplus.com上的對set的僞代碼基礎解釋:
template < class T, // set::key_type/value_type
-------------------------------------------//設置元素的值
class Compare = less<T>, // set::key_compare/value_compare
-------------------------------------------//比較是否有此元素
class Alloc = allocator<T> // set::allocator_type
-------------------------------------------//判斷set儲存的數據類型
> class set;
set可以看作一個容器儲存着一連串可能重複的元素中的不同的元素。通俗的說就是,一個倉庫儲存着貨物,而set是一個展櫃放着每種貨物的樣品,顯然樣品是不重複的,只是元素不能被改動(畢竟沒人敢隨便動樣品ヾ(◍°∇°◍)ノ゙)。
Set中的元素看起來很多限制,不過他們還是能夠被插入或移除的。
內部中,set常常在元素被儲存進入時自動排序,這是一種特定的嚴格的弱排序標準。
Set容器常常比unordered_set容器訪問元素慢,但是他們允許直接在他們提供的子序列中迭代。
Set因爲自己的特性,通常被用在二叉查找樹上。
(挖坑以後填)