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...