這篇文章介紹一下stl中multiset的基本使用方法。
使用場景:set能實現很多內容,可能實際想的最多的就是key-value對映的資料型別,按key取值是實際的使用示例,set和map的最大區別在於是否能夠有重複。
#include函式名using namespace std;
用途功能說明
size()
查詢遍歷
獲取元素個數
begin()
查詢遍歷
獲取指向第乙個元素的迭代器(正序)
end()
查詢遍歷
獲取末尾的迭代器(正序)
rbegin()
查詢遍歷
獲取指向第乙個元素的迭代器(逆序)
rend()
查詢遍歷
獲取末尾的迭代器(逆序)
empty()
查詢遍歷
確認map是否為空
find(x)
查詢遍歷
查詢x,返回相應的迭代器的位置
insert(x)
插入插入資料x
erase(x)
刪除刪除指定元素x
clear()
刪除刪除所有元素
#include #include using namespace std;
int check_after_insert(string str,multisets) else
}int main() else
it = s.find("liumiao");
s.erase(it);
for (rit=s.rbegin(); rit != s.rend(); rit++) cout << "[ " << *rit << "]" << endl;
it = s.find("liumiao");
if (it != s.end()) else
}
size of map s : 0
insert success.
insert success.
insert success.
insert success.
size of set s : 4
begin(): [liumiao]
begin(): [michael]
[ liumiao]
[ liumiaocn]
[ liumiaocn]
[ michael]
[ michael]
[ liumiaocn]
[ liumiaocn]
[ liumiao]
founded: [ liumiao]
[ michael]
[ liumiaocn]
[ liumiaocn]
liumiao: not founded.
變長支援、泛化型別、常用功能函式內嵌、可以使用其他多種stl的函式、使用簡單,結合其他型別進行泛化,使用非常廣泛,與set相比主要的特點在於可重複,本文示例**和set除了將定義從set修改為multiset之外,其餘完全不變,使用方法一致。 STL 關聯容器 之set 無重複有序集合
參考資料 std setfirst int myints std setsecond myints,myints 5 std setthird second std setfourth second.begin second.end struct classcomp 返回乙個二元組 pair 成員 ...
STL 關聯容器 之set 無重複有序集合
參考資料 參考資料 std setfirst int myints std setsecond myints,myints 5 std setthird second std setfourth second.begin second.end struct classcomp 返回乙個二元組 pai...
C 基礎之集合 Collection
在c 程式設計中,我們經常會使用到集合,現在有時間,我來做乙個整理。主要包括 arraylist stack queue hashtable list 微軟為什麼要定義這麼多集合類,而不只是去定義乙個?因為每一種集合都只適合於某類問題的解決。下面我們將對這些集合的適用問題上進行討論,說明集合的適用範...