當前位置:
首頁 >
STL之 set简略介绍。
發布時間:2023/12/10
37
豆豆
生活随笔
收集整理的這篇文章主要介紹了
STL之 set简略介绍。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
set常用函數及其講解?
元素的刪除
? ? ? ? 與插入元素的處理一樣,集合具有高效的刪除處理功能,并自動重新調整內部的紅黑樹的平衡(集合內部元素的排序)。刪除的對象可以是某個迭代器位置上的元素、等于某鍵值的元素、一個區間上的元素和清空集合。
#include<iostream> #include<set> using namespace std; int main() {set<int> s;s.insert(5); //第一次插入5,可以插入s.insert(1);s.insert(6);s.insert(3);s.insert(5); //第二次插入5,重復元素,不會插入 集合內部:1 3 5 6s.erase(6); //刪除鍵值為6的元素 集合內部:1 3 5set<int>::reverse_iterator rit; //定義反向迭代器 //反向遍歷集合中的所有元素for(rit = s.rbegin(); rit != s.rend(); rit++){cout << *rit << " ";}cout << endl; set<int>::iterator it;it = s.begin();for(int i = 0; i < 2; i++)it = s.erase(it); //將 1 3刪除for(it = s.begin(); it != s.end(); it++)cout << *it << " ";cout << endl;s.clear(); //將集合清空cout << s.size() << endl; //輸出集合的大小,即元素個數return 0; } /* 運行結果: 5 3 1 5 0 */?
自定義比較函數。使用insert將元素插入到集合中去的時候,集合會根據設定的比較函數獎該元素放到該放的節點上去。在定義集合的時候,如果沒有指定比較函數,那么采用默認的比較函數,即按鍵值從小到大的順序插入元素。但在很多情況下,需要自己編寫比較函數。
編寫比較函數有兩種方法。
(1)如果元素不是結構體,那么可以編寫比較函數。下面的程序比較規則為按鍵值從大到小的順序插入到集合中。
(2)如果元素是結構體,那么可以直接把比較函數寫在結構體內。?
?
部分內容選自?:https://blog.csdn.net/alibaba_lhl/article/details/81151409
總結
以上是生活随笔為你收集整理的STL之 set简略介绍。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: schupd.exe - schupd是
- 下一篇: 算法总结 -- 博弈论(PN图)