C 基礎 STL之可重複集合multiset

2021-10-25 05:35:43 字數 1719 閱讀 5045

這篇文章介紹一下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 微軟為什麼要定義這麼多集合類,而不只是去定義乙個?因為每一種集合都只適合於某類問題的解決。下面我們將對這些集合的適用問題上進行討論,說明集合的適用範...