Programming/c++
[c++] multiset
owls
2023. 2. 12. 22:30
728x90
multiset 클래스는 포함된 요소값이 고유할 필요가 없고 데이터가 자동 정렬되는 기준인 키 값으로 사용된 컬렉션의 데이터를 저장 및 검색하는 데 사용됩니다. 요소의multiset키 값은 직접 변경되지 않을 수 있습니다. 대신, 이전 값을 삭제하고 새 값의 요소를 삽입해야 합니다.
1. 클래스 헤더 파일
#include <set>
2. 클래스 원형
template <class Key, class Compare =less <Key>, class Allocator =allocator <Key>>
class multiset
3. Parameter (매개 변수)
key | multiset에 저장되는 요소 데이터 형식 |
Compare | multiset 두 요소 값을 정렬 키로 비교하여 해당 요소의 상대 순서를 확인할 수 있는 함수 개체를 제공하는 형식 이진 조건자 lessKey<> 가 기본값입니다. |
Allocator | 메모리 할당 및 할당 취소에 대한 multiset 세부정보를 캡슐화하는 저장된 할당자 개체를 나타내는 형식 기본값은 allocator<key>입니다. |
4. Typedefs
형식 이름 | 설명 |
allocator_type | allocator 개체에 대한 multiset 클래스의 typedef |
const_iterator | const의 multiset 요소를 읽을 수 있는 양방향 반복기에 대한 typedef |
const_pointer | const의 multiset 요소를 가리키는 포인터에 대한 typedef |
const_reference | 읽기 및 const 작업 수행을 위해 const 저장된 요소에 대한 참조에 multiset 대한 typedef입니다. |
const_reverse_iterator | const의 multiset 요소를 읽을 수 있는 양방향 반복기에 대한 typedef |
difference_type | 반복기가 가리키는 요소 사이의 범위에 있는 multiset의 요소 개수에 대한 부호 있는 정수 typedef |
iterator | multiset의 모든 요소를 읽거나 수정할 수 있는 양방향 반복기에 대한 typedef |
key_compare | multiset의 두 요소간 상대적 순서를 결정하는 두 키를 비교할 수 있는 함수 개체에 대한 typedef |
key_type | multiset의 두 요소간 상대적 순서를 결정하는 두 정렬 키를 비교할 수 있는 함수 개체에 대한 typedef |
pointer | multiset의 요소를 가리키는 포인터에 대한 typedef |
reference | multiset에 저장된 요소에 대한 참조의 typedef |
reverse_iterator | 역순 multiset의 요소를 읽거나 수정할 수 있는 양방향 반복기에 대한 typedef |
size_type | multiset에서 요소 수를 표현할 수 있는 부호 없는 정수 형식입니다. |
value_compare | 두 요소를 정렬 키로 비교하여 multiset에서 상대적 순서를 결정할 수 있는 함수 개체의 typedef |
value_type | 해당 용량 내 multiset 요소로 저장된 개체를 값으로 설명하는 typedef |
5. Member Function
멤버 함수 | Description |
begin | multiset의 첫 번째 요소를 가리키는 반복기를 반환합니다. |
cbegin | multiset의 첫 번째 요소를 주소 지정하는 상수 반복기를 반환합니다. |
cend | multiset에서 마지막 요소 다음에 나오는 위치를 주소 지정하는 상수 반복기를 반환합니다. |
clear | multiset의 모든 요소를 지웁니다. |
containsC++20 | 에 지정된 키가 multiset있는 요소가 있는지 확인합니다. |
count | 키가 매개 변수로 지정된 키와 일치하는 multiset의 요소 수를 반환합니다. |
crbegin | 역순 multiset에서 첫 번째 요소를 주소 지정하는 상수 반복기를 반환합니다. |
crend | 역순 multiset에서 마지막 요소 다음에 나오는 위치를 주소 지정하는 상수 반복기를 반환합니다. |
emplace | 생성된 요소를 multiset에 삽입합니다. |
emplace_hint | 배치 힌트를 사용하여 생성된 요소를 multiset에 삽입합니다. |
empty | multiset가 비어 있는지 여부를 테스트합니다. |
end | multiset에서 마지막 요소 다음 위치를 가리키는 반복기를 반환합니다. |
equal_range | 반복기 쌍을 반환합니다. multiset에서 지정된 키보다 큰 키가 있는 첫 번째 요소를 가리키는 쌍의 첫 번째 반복기 multiset에서 키보다 크거나 같은 키가 있는 첫 번째 요소를 가리키는 쌍의 두 번째 반복기 |
erase | 지정된 위치에서 multiset의 요소 또는 요소의 범위를 제거하거나 지정된 키와 일치하는 요소를 제거합니다. |
find | multiset에서 지정된 키와 같은 키를 가진 요소의 첫 번째 위치를 가리키는 반복기를 반환합니다. |
get_allocator | allocator를 생성하는 데 사용된 multiset 개체의 복사본을 반환합니다. |
insert | multiset에 요소 또는 요소의 범위를 삽입합니다. |
key_comp | multiset의 두 요소간 상대적 순서를 결정하는 두 정렬 키를 비교할 수 있는 함수 개체를 제공합니다. |
lower_bound | multiset에서 지정된 키보다 크거나 같은 키를 가진 첫 번째 요소에 반복기를 반환합니다. |
max_size | multiset의 최대 길이를 반환합니다. |
rbegin | 역순 multiset의 첫 번째 요소를 가리키는 반복기를 반환합니다. |
rend | 역순 multiset에 마지막 요소 다음 위치를 가리키는 반복기를 반환합니다. |
size | multiset의 요소 수를 반환합니다. |
swap | 두 multiset의 요소를 교환합니다. |
upper_bound | multiset에 지정된 키보다 큰 키를 가진 첫 번째 요소에 반복기를 반환합니다. |
value_comp | multiset에서 요소 값의 정렬에 사용되는 비교 개체의 복사본을 검색합니다. |
6. Example
728x90