C STL中 set multiset 的用法

2021-09-10 14:55:51 字數 1053 閱讀 9463

set是一種關聯式容器(關聯容器set, multiset, map, multimap),其內部的資料結構是紅黑樹(rb tree )其效能要優於平衡二叉樹

在set中元素的值是唯一的,而且其能根據元素的值自動進行排序。

set中查詢元素使用二分查詢,時間複雜度是log2

常用方法

begin()    //返回第乙個元素

end()     //返回最後乙個元素

clear()   // 清空所有的元素

empty()    // 判斷set是否為空

max_size()  // 返回set可能包含的元素最大個數

size()     // 返回當前set容器中的元素個數

erase(it)          //刪除迭代器指標it處元素

insert(a)          //插入某個元素

rbegin()    //反轉的  返回的值和end()相同

rend()   //  返回的值和begin()相同

反向迭代器:set::reverse_iterator

自定義比較函式:

定義比較結構體

struct node{

bool operator() (const 型別 &a, const 型別 &b) {

return(a>b);

定義set:

set《型別,node> s;

struct node{

bool operator < (const 結構體型別 &a) const{

return     ;

定義set

set《型別》 s;

C STL中的容器

用c 寫資料結構習題也有一段時間了,不得不說stl容器對資料結構真的很有用。c stl standard template library,標準模板庫 是一套功能強大的 c 模板類,其中包含4個元件,分別為演算法 容器 函式 迭代器。所以想總結一下自己用的容器,為什麼要用它以及怎麼用?c c 原生的...

C STL中的函式

標頭檔案 algorithm 中有很多好用的函式 max a,b 返回a和b中的最大值,引數可以是浮點數 min a,b 返回a和b中的最小值,引數可以是浮點數 tolower char ch 將字元型變數ch的大寫轉換為小寫,其他不變 toupper char ch 將字元型變數ch的小寫轉換為大...

c STL中的容器

容器作為stl的重要組成部分,其主要包括兩大類 順序容器 和 關聯容器 雖說這二者都是用來儲存資料的資料結構,但是他們的底層實現和特長有很大差別 關聯容器有8種 1 map 紅黑樹 2 set 紅黑樹 3 multimap 紅黑樹 4 multiset 紅黑樹 5 unordered map 雜湊表...