set是c++中模板庫的乙個stl庫,set就像英文中的意思一樣是集合
1,關於集合必須說明set是關聯式容器。set作為容器,也是用來儲存同一資料型別的資料型別,並且能從乙個資料集合中取出資料,在set中每個元素的值都唯一,而且系統能夠根據元素的值自動進行排序。應該注意的是set中的值不能被直接改變。
c++ stl中標準關聯容器set, multiset, map, multimap內部採用的就是一種非常高效的平衡檢索二叉樹:紅黑樹,也成為rb樹(red-black tree)。rb樹的統計效能要好於一般平衡二叉樹,所以被stl選擇作為了關聯容器的內部結構。
因為對於關聯容器來說,不需要做記憶體拷貝和記憶體移動。set容器內所有元素都是以節點的方式來儲存,其節點結構和鍊錶差不多,指向父節點和子節點。結構圖可能如下:
a
/ \b c
/ \ / \
d e f g
begin()——返回set容器的第乙個元素引入標頭檔案:end()——返回set容器的最後乙個 元素
clear()——刪除set容器中的所有的元素
empty()——判斷set是否為空,返回型別為布林
max_size()——返回set可能包含的元素最大個數
size()——返回當前set容器中的元素個數
rbegin()——返回的值和end()相同
rend()——返回的值和rbegin()相同
需要呼叫stl庫:#include
來寫乙個程式練一練其基本用法
#include
#include
using
namespace std;
intmain()
執行結果:
第乙個元素:
1最後乙個元素:
10是否為空?
false
元素個數:
10某個值元素的個數:13
4567
8910
n. (物品的)一套,一組,一副;一夥(或一幫)人,團夥,階層;電視機,收音機;布置,場景,舞台;(網球、排球比賽等的)盤,局;(數學中的)集,集合;一組歌曲(樂曲);(能力相當的)一批學生;(尤指堅定的)姿勢,神情;做頭髮;凝固,凝結;獸穴;(供移植的)秧苗,插枝;裝置 ↩︎ 初識set集合
一 set集合 一組無序的且不重複 自動消除重複 的資料集合 演示 list01 11 22,33 44,55 22,66 77 print list01 0 list0188 print list01 set01 set 儲存資料的時候是無序的 初始化的順序和列印出來的順序是不一樣的 set 集合...
集合 C 資料結構 集合 set
工作也不想做,部落格也不想寫qaq又是乙個難熬的下午 這個月的leetcode每日一題落下了好多,主要是動態規劃我真不會,看題解基本也想不明白,dp我的一生之敵 x x 這裡要介紹一下順序容器和關聯容器的區別。順序容器就是按照元素在容器中的位置,來進行儲存和訪問,例如vector deque lis...
Collection集合 (set集合)
不包含重複元素的集合 即使新增重複元素之後,最終也只能顯示乙個 沒有帶索引的方法,所以不能使用普通的for迴圈遍歷 hashset 對集合的迭代順序不作任何保證 object類中有乙個方法可以獲取物件的雜湊值 public int hashcode 返回物件的雜湊碼值 物件的雜湊值特點 同乙個物件多...