set 集合容器

2021-07-04 04:38:20 字數 1099 閱讀 1303

簡單學習一下set集合容器

標頭檔案#include

using namespace std;

sets(必須是有定義'<'運算子的型別 int,string)

向s中加資料:s.insert(elem)插入elem之後元素預設按公升序排序,集合中是沒有重複元素的,每個不同的元素只存乙個

s.clear()清空集合

s.begin()返回集合首位址

訪問幾何元素:

set::iterator it;定義迭代器

for(it = s.begin(); it != s.end(); it++)

printf("%d",*it);

s.empty()判斷是否為空,如果是空的話返回true,不是空的話返回false

s.find(40)是用來查詢集合裡面是否有40的,如果有就返回它的位址,沒有就返回為指標所以需要判斷一下。。。

if(it!=s.end)

printf("%d",*it);

s.count(40)也可以判斷集合中是否含有40,如果有返回true,沒有就返回false。。。。

s.size()返回當前集合中的個數

s.erase(pos)刪除pos位置的資料,無返回值

s.erase(elem)刪除元素elem

set集合是c++ stl庫中自帶的乙個容器,set具有以下兩個特點:

1、set中的元素都是排好序的

2、set集合中沒有重複的元素

常用操作:

begin()    返回set容器的第乙個元素的位址

end()      返回set容器的最後乙個元素位址

clear()    刪除set容器中的所有的元素

empty()     判斷set容器是否為空

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

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

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

insert(a) 插入某個元素 

又學習了點知識。。。multiset,對於我目前所了解,其實這個容器和set就一點差別,它可以存放重複元素而set只能存放單一元素。。。其他函式和set一樣。

set集合容器

set集合容器 set的定義 set容器的標頭檔案 include 定義 set 鍵值 s set的優缺 1.set容器的檢索使用中序遍歷演算法,檢索效率高於vector deque list等容器。2.set容器會對插入的元素按照鍵值由小到大的順序排序。3.set集合的主要目的就是為了快速檢索。4...

set集合容器

set集合容器 呼叫標頭檔案 includeusing namespace std 詳細用法 部分 sett 定義乙個int型別的容器,注意set裡的每個元素只會出現1次 t.insert k 插入元素k,多次插入同乙個元素後面無效 t.count k 判斷元素k是否在容器內 t.erase k 刪...

set集合容器

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