知識點 C 中STL容器之set

2022-04-30 19:36:10 字數 479 閱讀 8510

零、stl目錄

1、容器之map

2、容器之vector

3、容器之set

一、前言

繼上期的vector之後,我們又迎來了另乙個類陣列的stl容器——set。

二、用途與特性

set,顧名思義,集合,由數學知識可知,其內部每個元素最多出現一次。同時,系統能夠根據元素的值自動進行排序。和set一樣,multiset、map和multimap等關聯容器均通過紅黑樹實現。他們均有乙個特性——插入刪除效率比其他序列容器高,因為所有元素以節點的形式儲存,結構和鍊錶類似,大幅提高了效率。

三、功能

構造與其他stl容器差不多,此處不贅述。涵蓋的函式亦大同小異,先給出列表:

set同樣可以遍歷,具體方法和操作類似於map,也不進行敘述了。

C 知識點 STL容器2 set

set可能算是一種比較冷門的stl容器了,喜歡用它的人覺得set真牛逼 不喜歡它的人覺得set真垃圾 很不幸,我屬於第一種 set作為一種封裝好的資料容器 最吸引人的地方是它的自動排序功能 這也就是說你可以擁有乙個實時的排好序的序列 或者可以用乙個序列同時實現大根堆和小根堆 時間複雜度和空間都是兩者...

C 知識點 STL容器3 map pair

map 和 pair 同樣屬於一種不是特別常用的的stl容器,但確實比 set 常用得多 兩者都是有兩個關鍵字的stl 且可以將 pair 型別插入 map 中 又或者說 map 就是由一堆 pair 組成的 且這些 pair 所表示的兩個資料型別分別相同 類似於變數和陣列的關係 map 物件是模板...

C 知識點 STL容器1 vector

vector可能是與各位選手見面次數最多的stl容器了 這是因為它在圖論問題中發揮的特殊而重要的作用 簡單來說vector就是乙個能根據需求改變自己長度的陣列 它有乙個空間的初始值,一旦初始值滿則向記憶體申請兩倍的空間 同樣的,它支援像陣列一樣使用下標訪問,不是修改 也像陣列一樣不能o 1 在任意位...