1) 元素插入:
insert()
2) 中序遍歷:
類似vector遍歷(用迭代器)
3) 反向遍歷:
利用反向迭代器reverse_iterator。
sets;
......
set::reverse_iterator rit;
for(rit=s.rbegin();rit!=s.rend();rit++)
4) 元素刪除:
與插入一樣,可以高效的刪除,並自動調整使紅黑樹平衡。
sets;
s.erase(2); //刪除鍵值為2的元素
s.clear();
5) 元素檢索:
find(),若找到,返回該鍵值迭代器的位置,否則,返回最後乙個元素後面乙個位置。
sets;
set::iterator it;
it=s.find(5); //查詢鍵值為5的元素
if(it!=s.end()) //找到
cout<<*it<6) 自定義比較函式:
(1)元素不是結構體
//自定義比較函式mycomp,過載「()」操作符
struct mycomp
}sets;
......
set::iterator it;
(2)如果元素是結構體,可以直接將比較函式寫在結構體內
struct info
{ string name;
float score;
//過載「<」操作符,自定義排序規則
bool operator < (const info &a) const
{ //按score從大到小排列
return a.scores;
......
set::iterator it;
Set集合常用方法
public static void main string args 這裡可以了解一下treeset,treeset是乙個有序集合,即使在插入的時候沒有順序,那麼在輸出的時候就是都會是有序的了。但是使用treeset的時候,插入的物件要是實現了comparable介面才可以正常使用。public ...
python集合set操作
python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...
redis集合set操作
sadd key value1 value2 向集合中增加元素 smembers key 檢視集合中的元素,由於集合的無序性,檢視的元素可能和插入式順序不一樣 srem value1 value2.刪除集合中名為value1,value2.的元素 返回值 忽略不存在的元素,返回真正刪除元素的個數 s...