C 集合 初識Set

2021-10-05 05:48:41 字數 1229 閱讀 2115

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 返回物件的雜湊碼值 物件的雜湊值特點 同乙個物件多...