簡介:
本質:
set和multiset區別:
構造:
賦值:
#include
void
printset
(set<
int>
& s)
cout << endl;
}//構造和賦值
void
test01()
intmain()
總結:
函式原型:
#include
void
printset
(set<
int>
& s)
cout << endl;
}//大小
void
test01()
else
}//交換
void
test02()
intmain()
總結:
函式原型:
#include
void
printset
(set<
int>
& s)
cout << endl;
}//插入和刪除
void
test01()
intmain()
總結:
插入 — insert
刪除 — erase
清空 — clear
函式原型:
#include
//查詢和統計
void
test01()
else
//統計
int num = s1.
count(30
);cout <<
"num = "
<< num << endl;
}int
main()
總結:
查詢 — find (返回的是迭代器)
統計 — count (對於set,結果為0或者1)
區別:
#include
//set和multiset區別
void
test01()
else
ret = s.
insert(10
);if(ret.second)
else
//multiset
multiset<
int> ms;
ms.insert(10
);ms.
insert(10
);for(multiset<
int>
::iterator it = ms.
begin()
; it != ms.
end(
); it++
) cout << endl;
}int
main()
總結:
如果不允許插入重複資料可以利用set
如果需要插入重複資料利用multiset
功能描述:
兩種建立方式:
#include
//對組建立
void
test01()
intmain()
主要技術點:
示例一 set存放內建資料型別
#include
class
mycompare};
void
test01()
cout << endl;
//指定排序規則
set<
int,mycompare> s2;
s2.insert(10
);s2.
insert(40
);s2.
insert(20
);s2.
insert(30
);s2.
insert(50
);for(set<
int, mycompare>
::iterator it = s2.
begin()
; it != s2.
end(
); it++
) cout << endl;
}int
main()
總結:利用仿函式可以指定set容器的排序規則
示例二 set存放自定義資料型別
#include
#include
class
person
string m_name;
int m_age;};
class
compareperson};
void
test01()
}int
main()
總結:
對於自定義資料型別,set必須指定排序規則才可以插入資料
簡介:本質:
優點:map和multimap區別:
函式原型:
構造:
賦值:
#include
void
printmap
(map<
int,
int>
&m) cout << endl;
}void
test01()
intmain()
總結:map中所有元素都是成對出現,插入資料時候要使用對組
函式原型:
#include
void
printmap
(map<
int,
int>
&m) cout << endl;
}void
test01()
else
}//交換
void
test02()
intmain()
總結:
統計大小 — size
判斷是否為空 — empty
交換容器 — swap
函式原型:
#include
void
printmap
(map<
int,
int>
&m) cout << endl;
}void
test01()
intmain()
總結:
插入 — insert
刪除 — erase
清空 — clear
函式原型:
#include
//查詢和統計
void
test01()
else
//統計
int num = m.
count(3
);cout <<
"num = "
<< num << endl;
}int
main()
總結:
查詢 — find (返回的是迭代器)
統計 — count (對於map,結果為0或者1)
主要技術點:
#include
class
mycompare};
void
test01()
}int
main()
總結: set與map和pair容器
set 與map 和pair容器 首先來看看 set集合容器 set集合容器實現了紅黑樹的平衡二叉樹資料結構,在插入元素時它會自動調整二叉樹的排列,把該元素放到適當的位置,並且保證左右子樹平衡。平衡二叉檢索樹採用中序遍歷演算法。對於set,vector map 等等,它們的 前向迭代器 定義是這樣的...
容器篇 set容器(下)
include include include using namespace std void printset set int s set容器中的元素不能是重複的,保持唯一性!multiset容器中是允許出現重複元素的!insert void test01 s1.insert arr,arr s...
map容器即關聯容器
include string include map using namespace std intmain 資料 1.對映和多重對映以容器以鍵 值對 pair物件 的形式管理他們的元素,其元素按照 某種標準對鍵進行排列,預設標準為 排序時比較pair物件的資料成員first的值.相等則比較seco...