1. 程式人生 > >[c++ stl] set與multiset的常用函式

[c++ stl] set與multiset的常用函式

參考資料:【C++ STL】Set和Multiset

set 與 multiset

set不允許重複 multiset允許重複

例: set : 1 2 3 4 5 6
multiset : 1 2 2 3 3 3

操作

標頭檔案

#include <set>

定義

multiset<int> s[N];//定義
multiset<int>::iterator it;//迭代器

函式

操作 效果
s.size() 返回當前的元素數量
s.empty () 判斷大小是否為零,等同於\(0==size()\),效率更高
操作 效果
count (elem) 返回元素值為\(elem\)的個數
find(elem) 返回元素值為\(elem\)的第一個元素,如果沒有返回\(end()\)
lower _bound(elem) 返回元素值\(>=elem\)的第一個元素位置
upper _bound (elem) 返回元素值\(>elem\)的第一個元素位置
操作 效果
s.begin() 返回一個隨機存取迭代器,指向第一個元素
s.end() 返回一個隨機存取迭代器,指向最後一個元素的下一個位置
操作 效果
s.insert(elem) 插入一個\(elem\)副本,返回新元素位置,無論插入成功與否。
s.erase(elem) 刪除與\(elem\)相等的所有元素,返回被移除的元素個數。
s.erase(pos) 移除迭代器\(pos\)所指位置元素,無返回值。
s.clear() 移除所有元素,將容器清空