C set 容器使用

2021-09-29 08:39:40 字數 860 閱讀 9977

/*

g++ set.cc --std=c++17

set 容器使用

set 內部是使用紅黑樹實現的,是一種平衡二叉樹,所以對其插入\查詢效率是非常高的,其時間複雜度是log2(n)

set是stl中一種標準關聯容器。它底層使用平衡的搜尋樹——紅黑樹實現,插入刪除操作時僅僅需要指標操作節點即可完成,

不涉及到記憶體移動和拷貝,所以效率比較高。set,顧名思義是「集合」的意思,在set中元素都是唯一的,而且預設情況下

會對元素自動進行公升序排列,支援集合的交(set_intersection),差(set_difference) 並(set_union),

對稱差(set_symmetric_difference) 等一些集合上的操作,如果需要集合中的元素允許重複那麼可以使用multiset。

*/#include #include #include using namespace std;

class student

~student()

;sets(a, a+5);

for(i=0;i<10;i++)//1~5幾個插入會失敗

string str;

char buffer[128];

for(i=0;i<10;i++)

couttypedef std::setstudentset;

studentset studentset;

student *student;

for(i=1;i<10;i++)

}cout<<"----------------------end---------------------------"

}

C set容器使用

stl的set是乙個二叉排序樹,也稱為集合,其在stl內部實現是紅黑樹,能夠將元素預設從小到大排序或者是字典序排序。如果宣告的元素型別不是基本資料型別而是自定義的類要給它乙個比較器,類似於sort的compare。include include include include using names...

C vector容器使用

一 vector容器四種遍歷方式 include include include using namespace std void print vector v bool mycmpare const int a,const int b 定義三個結構體 struct cvector2 struct ...

c 容器使用

關聯容器 無序容器 unordered container 容器介面卡 container adapter 12章 只有array不提供rezise 因為大小固定 std array 於 固定大小的陣列 建立時必須指明大小 不能改變元素的個數,只能改變元素的值 元素的個數是array型別的一部分,s...