閱讀44 返回首頁    go 阿裏雲 go 技術社區[雲棲]


C++中set 和multiset 容器類小總結

    C++中有兩個容器類,對於做編程題的同學,遇到集合問題直接調用是十分方便的,下麵我來介紹C++裏麵的兩個容器類

,它們分別是set 和multiset。

 

一.set 容器

set是一個集合。

需要在c++的編譯環境中使用,需要的頭文件是#include<set>

創建一個名為a的整型set容器的方法是set<int>a(其它類型類似)

 

常用的方法(可以直接調用):

begin() 返回指向第一個元素的迭代器
clear() 清除所有元素
count() 返回某個值元素的個數
empty() 如果集合為空,返回true(真)
end() 返回指向最後一個元素之後的迭代器,不是最後一個元素
equal_range() 返回集合中與給定值相等的上下限的兩個迭代器
erase() 刪除集合中的元素
find() 返回一個指向被查找到元素的迭代器
get_allocator() 返回集合的分配器
insert() 在集合中插入元素
lower_bound() 返回指向大於(或等於)某值的第一個元素的迭代器
key_comp() 返回一個用於元素間值比較的函數
max_size() 返回集合能容納的元素的最大限值
rbegin() 返回指向集合中最後一個元素的反向迭代器
rend() 返回指向集合中第一個元素的反向迭代器
size() 集合中元素的數目
swap() 交換兩個集合變量
upper_bound() 返回大於某個值元素的迭代器
value_comp() 返回一個用於比較元素間的值的函數

 

二.multiset容器

Multiset的中文名是多重集合

其實就是集合的擴展版。唯一的不同是集合中一個值隻能出現一次,而多重集合中一個值可以出現多次。

需要在c++的編譯環境中使用,需要的頭文件是#include<set>

創建一個名為a的整型multiset容器的方法是multiset<int>a(其它類型類似)

 

multiset的方法和set相同,唯一的區別就是multiset可以儲存很多相同的值

 

三:set與multiset容器的區別?

Set、multiset都是集合類,差別在與set中不允許有重複元素,multiset中允許有重複元素。
 
 
四.什麼時候適合用set,什麼時候適合用multiset?

 

什麼時候適合用multiset?

當然是需要用set,但是又允許重複key存在的時候了。

什麼時候適合用set?

需要隨時往容器中插入元素,隨時對元素進行快速查找,又需要按某種順序對元素進行遍曆的時候

 

 

 

 

 

最後更新:2017-04-03 12:55:38

  上一篇:go python socket文件通信練習
  下一篇:go Android使用Home鍵後應用程序重啟的問題