關聯容器 (set multiset)

2021-09-26 13:27:33 字數 629 閱讀 7992

關聯容器與序列容器有著根本性的不同,序列容器的元素是按照在容器中的位置來順序儲存和訪問的,而關聯容器的元素是按關鍵元素來儲存和訪問的。關聯容器支援高效的關鍵字查詢與訪問。

set實際上是乙個單集合,它的底層是由紅黑樹實現的。set的特性是,所有元素都會根據元素的鍵值自動被排序。set的元素不像map那樣可以同時擁有實值(value)和鍵值(key),set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。

2.1  set的常用函式

2.2  set的簡單實現

#include#includeusing namespace std;

int main()

; setbrr(arr,arr+5);

cout<<"size="<

::iterator br1=brr.begin();

set::iterator br2=brr.end();

for(;br1!=br2;++br1)

cout如果是刪除操作,就會將相同的元素一起刪除了。

如果是查詢,將返回該元素的迭代器的位置,如果有相同的,就返回第乙個元素的位址。

set,multiset容器型別

set和multiset會根據特定的排序準則,自動將元素排序。兩者不同處在於multiset允許元素重複而set不允許。一 集和多集 set 和multiset 容器類 在使用set和multiset之前,先必須包含標頭檔案 include 在其中,set和multiset被定義為命名空間std內的...

集合set multiset容器部分API總結

1.set容器是一種關聯式容器,在插入資料時會根據鍵值進行排序,不允許出現重複的鍵值。2.set容器不能通過迭代器來修改鍵值,其迭代器不支援隨機訪問.3.multiset允許鍵值重複 include include set 或 multiset include using namespace std...

STL常用容器(七)set multiset容器

簡介 本質 set和multiset區別 功能描述 建立set容器以及賦值 構造 賦值 include void printset set int s cout endl 構造和賦值 void test01 intmain 總結 功能描述 函式原型 include void printset set...