C STL中的容器 Set

2021-08-25 11:16:30 字數 704 閱讀 1736

set跟vector差不多,它跟vector的唯一區別就是,set裡面的元素是有序的且唯一的,只要你往set裡新增元素,它就會自動排序,而且,如果你新增的元素set裡面本來就存在,那麼這次新增操作就不執行。要想用set先加個頭檔案set。

其中數值型按照從小到大排列;

字元型按照字典序排列;

#include 

#include

#include

using

namespace

std;

template

void showset(set

v) cout

<< endl;

}int main()

; //自動排序,從小到大,剔除相同項

showset(s1);

set s2; //字典序排序

showset(s2);

s1.insert(9); //有這個值了,do nothing

showset(s1);

s2.insert("aaa"); //沒有這個字串,新增並且排序

c STL容器(2)set容器

set翻譯為集合,是乙個內部自動有序且不含重複元素的容器 set的定義 set typename name set int vi set double vi set char vi set vi node可以是結構體 set int a 100 陣列裡面每個元素都是乙個set集合insert x 將...

C STL之Set集合容器

set集合容器實現了紅黑樹的平衡二叉樹的資料結構,在插入元素時候,它會自動的進行調整二叉樹的排列,把該元素放到適當的位置,以保證每個子樹根節點的鍵值大於左子樹所有的鍵值,小於右子樹所有節點的鍵值 另外,還要確保根節點左子樹的高度與右子樹的高度相等,這樣,二叉樹的高度最小,從而達到檢索的速度最快 注意...

C STL之set集合容器

set集合容器 set集合容器實現了紅黑樹 red black tree 的平衡二叉檢索樹的資料結構,在 插入元素時,它會自動調整二叉樹的排列,把該元素放到適當的位置,以確保每個子樹根節點的鍵值大於左子樹的所有節點的鍵值,而小於右子樹所有節點的鍵值 另外,還得確保根節點左子樹的高度與右子樹的高度相等...