簡單學習一下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 的平衡二叉檢索樹的的資料結構,在插入元素時,它會自動調整二叉樹的排列,把該元素放到適當的位置,以確保每個子樹根節點的鍵值大於左子樹所有節點的鍵值,而小於右子樹所有節點的鍵值 另外,還得確保根節點的左子樹的高度與有字數的高度相等,這樣,二叉樹的...