集合set multiset容器部分API總結

2021-09-12 15:46:28 字數 1384 閱讀 3153

1.set容器是一種關聯式容器,在插入資料時會根據鍵值進行排序,不允許出現重複的鍵值。

2.set容器不能通過迭代器來修改鍵值,其迭代器不支援隨機訪問.

3.multiset允許鍵值重複

#include

#include

//set 或 multiset

#include

using namespace std;

//關聯式容器:在插入資料時會按照鍵值大小順序對元素進行排序,排序後的序列為最終的容器元素系列

//集合set特性:

//1.所有元素都會根據元素的鍵值自動被排序,set容器不允許出現的鍵值.

容器不可以通過迭代器來改變元素的值,因為如果改變了值,那麼就不一定是有序的系列,破壞了set容器的組織,也就是說set的迭代器是一種const_iterator

的迭代器不支援隨機訪問,set的鍵值(key)就是實值(value),只能遞增++或遞減--

void

printset

(set<

int> s)

//初始化和賦值

//初始化插入資料使用emplace或者insert

void

test01()

//大小和交換

void

test02()

else cout <<

"set為空"

<< endl;

set<

int> s2;

s2.emplace

(4000);

s2.swap

(s1)

;//交換兩個set物件的資訊

printset

(s2)

;printset

(s1);}

//插入和刪除

void

test03()

//查詢

void

test04()

//統計個數

void

test05()

//對組的使用

//作用:用於存放成對出現的資料,兩個資料的資料型別可以相同和不相同

void

test06()

//語言型別系統自身內建資料型別指定排序規則:使用函式物件實現

class mycompare };

void

test07()

//自定義資料型別,必須指定排序規則

class person

public:

string name_;

int age_;};

class personcompare };

void

test08()

intmain()

set,multiset容器型別

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

關聯容器 (set multiset)

關聯容器與序列容器有著根本性的不同,序列容器的元素是按照在容器中的位置來順序儲存和訪問的,而關聯容器的元素是按關鍵元素來儲存和訪問的。關聯容器支援高效的關鍵字查詢與訪問。set實際上是乙個單集合,它的底層是由紅黑樹實現的。set的特性是,所有元素都會根據元素的鍵值自動被排序。set的元素不像map那...

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

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