Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL에서 맵(또는 unordered_map) 순회


여기에서 지도 컨테이너와 C++에서의 사용을 볼 수 있습니다. 맵은 해시 매핑 방식으로 요소를 저장하는 연관 컨테이너로 정의됩니다. 각 요소는 키 및 값과 연결됩니다. 매핑된 두 값은 동일한 키를 가질 수 없습니다. 다음은 C++의 지도 컨테이너 내부에 있는 몇 가지 기본적인 방법입니다.

begin():맵의 첫 번째 요소에 대한 반복자를 반환합니다.

끝() − 맵의 마지막 요소 다음에 오는 이론적인 요소에 대한 반복자를 반환합니다.

크기() − 지도의 요소 수를 반환합니다.

최대 크기() − 맵이 보유할 수 있는 최대 요소 수를 반환합니다.

빈() − 지도가 비어 있는지 여부를 반환합니다.

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
int main() {
   int A[] = { 2, 2, 3, 2, 2, 4, 5, 4 };
   int num = sizeof(A) / sizeof(A[0]);
   map<int, int> my_map;
   for (int p = 0; p < num; p++)
      my_map[A[p]]++;
   cout <<"Item Frequency"<< endl;
   for (auto p : my_map)
      cout << p.first <<" : "<< p.second << endl;
}

출력

Item Frequency
2 : 4
3 : 1
4 : 2
5 : 1

순서가 없는_지도 C++ STL에 있는 또 다른 유형의 지도 컨테이너입니다. 키 값 쌍의 조합으로 구성된 요소를 수집하거나 저장하는 연관된 컨테이너입니다. 키는 값을 고유하게 식별하는 데 사용됩니다. 이 경우 키와 값은 모두 사전 정의되거나 사용자 정의된 모든 유형이 될 수 있습니다.

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
int main() {
   int A[] = { 2, 2, 3, 2, 2, 4, 5, 4 };
   int num = sizeof(A) / sizeof(A[0]);
   unordered_map<int, int> my_map;
   for (int p = 0; p < num; p++)
      my_map[A[p]]++;
   cout <<Item Frequency"<< endl;
   for (auto p : my_map)
      cout << p.first <<" : "<< p.second << endl;
}

출력

Item Frequency
5 : 1
4 : 2
2 : 4
3 : 1