도순씨의 코딩일지
C++ :: STL multiset 컨테이너 본문
multiset은 set과 다르게 key가 중복으로 저장될 수 있습니다.
다음 예제는 중복 원소를 허용하는 multiset의 insert() 멤버 함수 예제입니다.
⭐️ multiset의 insert()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
#include <set>
using namespace std;
int main(void){
multiset<int> ms;
multiset<int>::iterator iter;
ms.insert(50);
ms.insert(30);
ms.insert(80);
ms.insert(80);
ms.insert(30);
ms.insert(70);
iter = ms.insert(10);
cout << "iter의 원소: " << *iter << endl;
for(iter = ms.begin() ; iter != ms.end() ; ++iter)
cout << *iter << " ";
cout << endl;
return 0;
}
|
cs |
⭐️ multiset의 insert() 실행결과
1
2
|
iter의 원소: 10
10 30 30 50 70 80 80
|
cs |
다음 예제는 multiset의 count(), find(), lower_bound(), upper_bound() 멤버 예제입니다.
⭐️ multiset의 찾기 관련 함수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#include <iostream>
#include <set>
using namespace std;
int main(void){
multiset<int> ms;
ms.insert(50);
ms.insert(30);
ms.insert(80);
ms.insert(80);
ms.insert(30);
ms.insert(70);
ms.insert(10);
multiset<int> :: iterator iter;
for(iter = ms.begin() ; iter != ms.end() ; ++iter)
cout << *iter << " ";
cout << endl;
cout << "30 원소의 개수: " << ms.count(30) << endl;
iter = ms.find(30);
cout << "iter: " << *iter << endl;
multiset<int>::iterator lower_iter;
multiset<int>::iterator upper_iter;
lower_iter = ms.lower_bound(30);
upper_iter = ms.upper_bound(30);
cout << "lower_iter: " << *lower_iter << ", "
<< "upper_iter: " << *upper_iter << endl;
cout << "구간 [lower_iter, upper_iter)의 순차열: ";
for(iter = lower_iter ; iter != upper_iter ; ++iter)
cout << *iter << " ";
cout << endl;
return 0;
}
|
cs |
⭐️ multiset의 찾기 관련 함수 실행결과
1
2
3
4
5
|
10 30 30 50 70 80 80
30 원소의 개수: 2
iter: 30
lower_iter: 30, upper_iter: 50
구간 [lower_iter, upper_iter)의 순차열: 30 30
|
cs |
📚 출처
공동환(2012), 뇌를 자극하는 C++ STL, 한빛미디어.
'𝐏𝐑𝐎𝐆𝐑𝐀𝐌𝐌𝐈𝐍𝐆 > 𝐂++' 카테고리의 다른 글
C++ :: STL 원소를 수정하지 않는 알고리즘 (0) | 2020.09.23 |
---|---|
C++ :: STL map, multimap 컨테이너 (0) | 2020.09.19 |
C++ :: STL set 컨테이너 (0) | 2020.09.17 |
C++ :: STL list 컨테이너 (0) | 2020.09.15 |
C++ :: STL duque 컨테이너 (0) | 2020.09.14 |
Comments