C ++ 라이브러리-<무순 맵>
무순지도 소개
정렬되지 않은 맵은 데이터 구조와 같은 사전입니다. (키, 값) 쌍의 시퀀스로, 단일 값만 각 고유 키와 연결됩니다. 종종 연관 배열 이라고 합니다. 키를 기반으로 개별 요소를 빠르게 검색 할 수 있습니다. 또한 키 값을 인수로 사용하여 매핑 된 값에 직접 액세스 할 수 있는 직접 액세스 연산자 (subscript operator []) 를 구현합니다 .
정렬되지 않은 맵은 키 또는 매핑 된 값과 관련하여 특정 순서로 요소를 정렬하지 않고 대신 키 값으로 개별 요소에 직접 빠르게 액세스 할 수 있도록 해시 값에 따라 버킷으로 구성합니다.
정렬되지 않은 맵은 키로 개별 요소에 액세스하는 동안 맵보다 성능이 좋습니다. 그러나 범위 반복의 경우 성능이 상당히 낮습니다.
정의
아래는 <unordered_map> 헤더 파일의 std :: unordered_map 정의입니다.
template < class Key,
class T,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator< pair<const Key,T> >
> class unordered_map;
매개 변수
Key − 키 유형.
T − 매핑 된 값의 유형.
Hash− 키 유형 의 객체 를 인수로 취하고 이를 기반으로 size_t 유형의 고유 값을 반환하는 단항 함수 객체 유형 .
Pred− 키 유형 의 두 인수 와 부울을 반환하는 바이너리 술어 .
Alloc − 할당 자 개체의 유형.
T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.
회원 유형
다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.
Sr. 아니. | 회원 유형 | 정의 |
---|---|---|
1 | key_type | 키 (템플릿의 첫 번째 매개 변수) |
2 | 매핑 된 _ 유형 | T (템플릿의 두 번째 매개 변수) |
삼 | 값 _ 유형 | 쌍 <const key_type, mapped_type> |
4 | 해셔 | 세 번째 템플릿 매개 변수 (기본값 : hash <key_type>) |
5 | key_equal | 네 번째 템플릿 매개 변수 (기본값 : equal_to <key_type>) |
6 | 할당 자 _ 유형 | Alloc (템플릿의 다섯 번째 매개 변수) |
7 | 참고 | 값 _ 유형 & |
8 | const_reference | const 값 _ 유형 & |
9 | 바늘 | allocator_traits <할당> :: 포인터 |
10 | const_pointer | allocator_traits <할당> :: const_pointer |
11 | 반복자 | value_type value_type에 대한 순방향 반복기 |
12 | const_iterator | const value_type value_type에 대한 순방향 반복기 |
13 | local_iterator | value_type에 대한 순방향 반복기 |
14 | const_local_iterator | const value_type에 대한 순방향 반복기 |
15 | 차이 _ 유형 | ptrdiff_t |
16 | 크기 유형 | size_t |
<무순 맵>의 함수
아래는 <unorder_map> 헤더의 모든 메소드 목록입니다.
생성자
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 무순 맵 :: 무순 맵 기본 생성자 요소가 0 인 비어있는 비 순차 맵을 생성합니다. |
2 | 무순 맵 :: 무순 맵 복사 생성자 기존의 무순 맵에있는 각 요소의 복사본으로 무순 맵을 생성합니다. |
삼 | 무순 맵 :: 무순 맵 이동 생성자 이동 시맨틱을 사용하여 다른 컨텐츠로 무순 맵을 구성합니다. |
4 | 무순 맵 :: 무순 맵 범위 생성자 처음 부터 마지막 까지의 범위에있는만큼 많은 요소로 무순 맵을 구성 합니다. |
5 | 무순 맵 :: 무순 맵 initializer_list 생성자 초기화 목록에서 무순 맵을 생성합니다. |
폐물 소각로
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 무순 맵 :: ~ 무순 맵
메모리 할당을 해제하여 unorder_map 객체를 파괴합니다. |
회원 기능
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 무순 맵 :: at
k 키와 연결된 매핑 된 값에 대한 참조를 반환합니다 . |
2 | unorder_map :: begin 컨테이너 반복자 지도의 첫 번째 요소를 참조하는 반복기를 반환합니다. |
삼 | unorder_map :: begin 버킷 반복자 버킷 중 하나의 첫 번째 요소를 가리키는 반복기를 반환합니다. |
4 | unorder_map :: bucket
키가 k 인 요소가있는 버킷 번호를 반환합니다 . |
5 | unorder_map :: bucket_count
무순 맵 컨테이너의 버킷 수를 반환합니다. |
6 | unorder_map :: bucket_size
n 번째 버킷 에있는 요소의 수를 반환합니다 . |
7 | unorder_map :: cbegin 컨테이너 반복기 무순 맵의 첫 번째 요소를 참조하는 상수 반복기를 반환합니다. |
8 | unorder_map :: cbegin 버킷 반복기 버킷 중 하나의 첫 번째 요소를 가리키는 상수 반복기를 반환합니다. |
9 | unorder_map :: cend 컨테이너 반복기 무순 맵의 끝 요소 를 가리키는 상수 반복기를 반환합니다 . |
10 | unorder_map :: cend 버킷 반복자 버킷 중 하나에서 마지막 요소 를 가리키는 상수 반복기를 반환합니다 . |
11 | unorder_map :: clear
모든 요소를 제거하여 무순 맵을 파괴하고 무순 맵의 크기를 0으로 설정합니다 . |
12 | unorder_map :: count
k 키와 관련된 매핑 된 값의 수를 반환합니다 . |
13 | unorder_map :: emplace
새 요소를 삽입하여 컨테이너를 확장합니다. |
14 | unorder_map :: emplace_hint
힌트를 요소의 위치로 사용하여 무순 맵에 새 요소를 삽입합니다. |
15 | unorder_map :: empty
무순 맵이 비어 있는지 여부를 테스트합니다. |
16 | unorder_map :: end 컨테이너 반복기 순서가 지정되지 않은 맵의 끝 요소 를 지나가는 반복기를 반환합니다 . |
17 | unorder_map :: end 버킷 반복자 버킷 중 하나에서 마지막 요소 를 가리키는 반복자를 반환합니다 . |
18 | unorder_map :: equal
특정 키와 일치하는 요소 범위를 반환합니다. |
19 | unorder_map :: erase 위치 버전 position 에서 unorder_map의 단일 요소를 제거합니다 . |
20 | unorder_map :: erase 키 버전 k 키와 연관된 매핑 된 값을 제거합니다 . |
21 | unorder_map :: erase 범위 버전 무순 맵에서 요소 범위를 제거합니다. |
22 | unorder_map :: find
k 키와 관련된 요소를 찾습니다 . |
23 | unorder_map :: get_allocator
무순 맵과 관련된 할당자를 반환합니다. |
24 | unorder_map :: hash_function
무순 맵 컨테이너에서 사용하는 해시 함수 개체를 계산합니다. |
25 | 무순 맵 :: 삽입
무순 맵에 새 요소를 삽입하여 컨테이너를 확장합니다. |
26 | unorder_map :: 이동 버전 삽입 무순 맵에 새 요소를 삽입하여 컨테이너를 확장합니다. |
27 | unorder_map :: 힌트 버전 삽입 무순 맵에 새 요소를 삽입하여 오염 물질을 확장합니다. |
28 | unorder_map :: insert 이동 및 힌트 버전 새 요소를 삽입하여 무순 맵을 확장합니다. |
29 | unorder_map :: 범위 버전 삽입 무순 맵에 새 요소를 삽입하여 컨테이너를 확장합니다. |
30 | unorder_map :: initializer_list 버전 삽입 이니셜 라이저 목록에서 새 요소를 삽입하여 맵을 확장합니다. |
31 | 무순 맵 :: key_eq
키가 같은지 비교하는 함수를 반환합니다. |
32 | unorder_map :: load_factor
무순 맵 컨테이너의 현재로드 비율을 반환합니다. |
33 | unorder_map :: max_bucket_count
무순 맵 컨테이너가 가질 수있는 최대 버킷 수를 반환합니다. |
34 | unorder_map :: max_load_factor 버전 가져 오기 무순 맵 컨테이너의 현재 최대 부하율을 반환합니다. |
35 | unorder_map :: max_load_factor 세트 버전 무순 맵 컨테이너에 새로드 팩터를 할당합니다. |
36 | unorder_map :: max_size
unorder_map이 보유 할 수있는 최대 요소 수를 반환합니다. |
37 | unorder_map :: operator = 버전 복사 이전 콘텐츠를 대체하여 무순 맵에 새 콘텐츠를 할당하고 필요한 경우 크기를 수정합니다. |
38 | unorder_map :: operator = 버전 이동 순서가 지정되지 않은 한 맵의 내용을 다른 맵으로 이동하고 필요한 경우 크기를 수정합니다. |
39 | unorder_map :: operator = initializer_list 버전 이니셜 라이저 목록의 요소를 무순 맵으로 복사합니다. |
40 | 무순 맵 :: 연산자 []
키 k 가 컨테이너의 요소와 일치하면 메서드는 요소에 대한 참조를 반환합니다. |
41 | unorder_map :: operator [] 버전 이동 키 k 가 컨테이너의 요소와 일치하면 메서드는 요소에 대한 참조를 반환합니다. |
42 | unorder_map :: rehash
컨테이너의 버킷 수를 n 개 이상으로 설정합니다. |
43 | unorder_map :: reserve
컨테이너의 버킷 수를 n 개 이상의 요소 를 포함하기에 가장 적합한 수로 설정합니다 . |
44 | 무순 맵 :: 크기
무순 맵에있는 요소의 수를 반환합니다. |
45 | unorder_map :: swap
순서가 지정되지 않은 첫 번째 맵의 내용을 다른 맵과 교환합니다. |
비 멤버 오버로드 함수
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 무순 맵 :: 연산자 ==
두 개의 비 순차 맵이 같은지 여부를 테스트합니다. |
2 | unorder_map :: operator! =
두 개의 비 순차 맵이 같은지 여부를 테스트합니다. |
삼 | unorder_map :: swap
순서가 지정되지 않은 첫 번째 맵의 내용을 다른 맵과 교환합니다. |
무순 멀티 맵 소개
무순 다중 맵은 데이터 구조와 같은 사전입니다. 서로 다른 요소가 동등한 키를 가질 수있는 (키, 값) 쌍의 시퀀스입니다. 동등한 키를 가진 요소는 동일한 버킷에 함께 그룹화되어 equal_range 반복자 가 모든 항목을 반복 할 수 있습니다.
Unordered_multimap은 키 또는 매핑 된 값과 관련하여 특정 순서로 요소를 정렬하지 않고 대신 키 값으로 개별 요소에 직접 빠르게 액세스 할 수 있도록 해시 값에 따라 버킷으로 구성합니다.
정의
다음은 <무순 맵> 헤더 파일의 std :: unordered_multimap 정의입니다.
template < class Key,
class T,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator< pair<const Key,T> >
> class unordered_multimap;
매개 변수
Key − 키 유형.
T − 매핑 된 값의 유형.
Hash− 키 유형 의 객체 를 인수로 취하고 이를 기반으로 size_t 유형의 고유 값을 반환하는 단항 함수 객체 유형 .
Pred− 키 유형 의 두 인수 와 부울을 반환하는 바이너리 술어 .
Alloc − 할당 자 개체의 유형.
T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.
회원 유형
다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.
Sr. 아니. | 회원 유형 | 정의 |
---|---|---|
1 | key_type | 키 (템플릿의 첫 번째 매개 변수) |
2 | 매핑 된 _ 유형 | T (템플릿의 두 번째 매개 변수) |
삼 | 값 _ 유형 | 쌍 <const key_type, mapped_type> |
4 | 해셔 | 세 번째 템플릿 매개 변수 (기본값 : hash <key_type>) |
5 | key_equal | 네 번째 템플릿 매개 변수 (기본값 : equal_to <key_type>) |
6 | 할당 자 _ 유형 | Alloc (템플릿의 다섯 번째 매개 변수) |
7 | 참고 | 값 _ 유형 & |
8 | const_reference | const 값 _ 유형 & |
9 | 바늘 | allocator_traits <할당> :: 포인터 |
10 | const_pointer | allocator_traits <할당> :: const_pointer |
11 | 반복자 | value_type value_type에 대한 순방향 반복기 |
12 | const_iterator | const value_type value_type에 대한 순방향 반복기 |
13 | local_iterator | value_type에 대한 순방향 반복기 |
14 | const_local_iterator | const value_type에 대한 순방향 반복기 |
15 | 차이 _ 유형 | ptrdiff_t |
16 | 크기 유형 | size_t |
<unorder_multimap>의 함수
아래는 <unorder_map> 헤더의 모든 메소드 목록입니다.
생성자
Sr. 아니. | 방법 및 설명 |
---|---|
1 | unorder_multimap :: unordered_multimap () 기본 생성자 요소가없는 빈 정렬되지 않은 다중 맵을 생성합니다. |
2 | unorder_multimap :: unordered_multimap () 복사 생성자 기존의 무순 다중 맵에있는 각 요소의 복사본을 사용하여 무순 다중 맵을 생성합니다. |
삼 | unorder_multimap :: unordered_multimap () 이동 생성자 이동 시맨틱을 사용하여 다른 내용으로 무순 다중 맵을 구성합니다. |
4 | unorder_multimap :: unordered_multimap () 범위 생성자 처음 부터 마지막 까지의 범위에있는만큼 많은 요소를 사용하여 순서가 지정되지 않은 다중 맵을 구성 합니다. |
5 | unorder_multimap :: unordered_multimap () initializer_list 생성자 초기화 목록에서 무순 다중 맵을 생성합니다. |
폐물 소각로
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 무순 멀티 맵 :: ~ 무순 멀티 맵 ()
메모리 할당을 해제하여 unorder_multimap 객체를 파괴합니다. |
회원 기능
Sr. 아니. | 방법 및 설명 |
---|---|
1 | unorder_multimap :: begin () 컨테이너 반복기 순서가 지정되지 않은 _mulitmap의 첫 번째 요소를 참조하는 반복기를 리턴합니다. |
2 | unorder_multimap :: begin () 버킷 반복기 버킷 중 하나의 첫 번째 요소를 가리키는 반복기를 반환합니다. |
삼 | unorder_multimap :: bucket ()
키가 k 인 요소가있는 버킷 번호를 반환합니다 . |
4 | unorder_multimap :: bucket_count ()
unorder_multimap 컨테이너에있는 버킷 수를 반환합니다. |
5 | unorder_multimap :: bucket_size ()
n 번째 버킷 에있는 요소의 수를 반환합니다 . |
6 | unorder_multimap :: cbegin () 컨테이너 반복기 무순 다중 맵의 첫 번째 요소를 참조하는 상수 반복기를 반환합니다. |
7 | unorder_multimap :: cbegin () 버킷 반복기 버킷 중 하나의 첫 번째 요소를 가리키는 상수 반복기를 반환합니다. |
8 | unorder_multimap :: cend () 컨테이너 반복기 순서가 지정되지 않은 다중 맵의 마지막 요소 를 가리키는 상수 반복기를 반환합니다 . |
9 | unorder_multimap :: cend () 버킷 반복기 버킷 중 하나에서 마지막 요소 를 가리키는 상수 반복기를 반환합니다 . |
10 | unorder_multimap :: clear ()
모든 요소를 제거하여 무순 멀티 맵을 파괴하고 무순 멀티 맵의 크기를 0으로 설정합니다 . |
11 | unorder_multimap :: count ()
k 키와 관련된 매핑 된 값의 수를 반환합니다 . |
12 | unorder_multimap :: emplace ()
새 요소를 삽입하여 컨테이너를 확장합니다. |
13 | unorder_multimap :: emplace_hint ()
요소의 위치로 힌트를 사용하여 순서가 지정되지 않은 다중 맵에 새 요소를 삽입합니다. |
14 | unorder_multimap :: empty ()
unorder_multimap이 비어 있는지 여부를 테스트합니다. |
15 | unorder_multimap :: end () 컨테이너 반복기 순서가 지정되지 않은 다중 맵에서 마지막 요소 를 가리키는 반복기를 반환합니다 . |
16 | unorder_multimap :: end () 버킷 반복기 버킷 중 하나에서 마지막 요소 를 가리키는 반복자를 반환합니다 . |
17 | unorder_multimap :: equal_range ()
특정 키와 일치하는 요소 범위를 반환합니다. |
18 | unorder_multimap :: erase () 위치 버전 position 에서 unordered_multimap의 단일 요소를 제거합니다 . |
19 | unorder_multimap :: erase () 키 버전 k 키와 연관된 매핑 된 값을 제거합니다 . |
20 | unorder_multimap :: erase () 범위 버전 무순 다중 맵에서 요소 범위를 제거합니다. |
21 | unorder_multimap :: find ()
k 키와 관련된 요소를 찾습니다 . |
22 | unorder_multimap :: get_allocator ()
무순 다중 맵과 관련된 할당자를 반환합니다. |
23 | unorder_multimap :: hash_function ()
unorder_multimap 컨테이너에서 사용하는 해시 함수 객체를 계산합니다. |
24 | unorder_multimap :: insert () 값 버전 unorder_multimap에 새 요소를 삽입하여 컨테이너를 확장합니다. |
25 | unorder_multimap :: insert () 버전 이동 새 요소를 삽입하여 unorder_multimap을 확장합니다. |
26 | unorder_multimap :: insert () 힌트 버전 unorder_multimap에 새 요소를 삽입하여 컨테이너를 확장합니다. |
27 | unorder_multimap :: insert () 힌트 이동 버전 이동 시맨틱을 사용하여 unordered_multimap에 새 요소를 삽입하여 컨테이너를 확장합니다. |
28 | unorder_multimap :: insert () 범위 버전 unorder_multimap에 새 요소를 삽입하여 컨테이너를 확장합니다. |
29 | unorder_multimap :: insert () initializer_list 버전 이니셜 라이저 목록에서 새 요소를 삽입하여 unorder_multimap을 확장합니다. |
30 | unorder_multimap :: key_eq ()
키가 같은지 비교하는 함수를 반환합니다. |
31 | unorder_multimap :: load_factor ()
정렬되지 않은 다중 맵 컨테이너의 현재로드 비율을 반환합니다. |
32 | unorder_multimap :: max_bucket_count ()
unorder_multimap 컨테이너가 가질 수있는 최대 버킷 수를 반환합니다. |
33 | unorder_multimap :: max_load_factor () 버전 가져 오기 unorder_multimap 컨테이너의 현재 최대로드 비율을 반환합니다. |
34 | unorder_multimap :: max_load_factor () 세트 버전 unorder_multimap 컨테이너에 새로드 팩터를 할당합니다. |
35 | unorder_multimap :: max_size ()
unorder_multimap이 보유 할 수있는 최대 요소 수를 반환합니다. |
36 | unorder_multimap :: operator = () 사본 버전 이전 내용을 대체하여 unorder_multimap에 새 내용을 할당하고 필요한 경우 크기를 수정합니다. |
37 | unorder_multimap :: operator = () 버전 이동 하나의 unorder_multimap의 내용을 다른 것으로 이동하고 필요한 경우 크기를 수정합니다. |
38 | unorder_multimap :: operator = () initializer_list 버전 이니셜 라이저 목록의 요소를 무순 다중 맵으로 복사합니다. |
39 | unorder_multimap :: rehash ()
컨테이너의 버킷 수를 n 개 이상으로 설정합니다. |
40 | unorder_multimap :: reserve ()
컨테이너의 버킷 수를 n 개 이상의 요소 를 포함하기에 가장 적합한 수로 설정합니다 . |
41 | unorder_multimap :: size ()
정렬되지 않은 다중 맵에있는 요소의 수를 반환합니다. |
42 | unorder_multimap :: swap ()
첫 번째 unorder_multimap의 내용을 다른 것으로 교환합니다. |
비 멤버 오버로드 함수
Sr. 아니. | 방법 및 설명 |
---|---|
1 | unorder_multimap :: operator == ()
두 개의 unorder_multimap이 같은지 여부를 테스트합니다. |
2 | unorder_multimap :: operator! = ()
두 개의 unorder_multimap이 같은지 여부를 테스트합니다. |
삼 | unorder_multimap :: swap ()
첫 번째 unorder_multimap의 내용을 다른 것으로 교환합니다. |