맵은 키와 값 쌍의 형태로 정보를 저장하는 데이터 구조입니다. C++에서 지도는 STL로 정의됩니다. (표준 템플릿 라이브러리) 및 키를 정렬된 형식으로 저장합니다.
지도를 정의하는 구문 -
map<key_type , value_type> map_name;
맵의 이 두 데이터 중 하나의 데이터 유형은 모든 데이터 유형이 될 수 있습니다. 기본 데이터 유형 또는 파생 데이터 유형을 맵의 키 또는 값 데이터 유형으로 가질 수 있습니다.
맵 키의 데이터 유형으로 모든 데이터 유형을 사용할 수 있습니다. 사용자가 정의한 데이터 유형도 키 데이터 유형으로 사용할 수 있습니다.
이제 새로운 데이터 유형을 정의하는 데이터 구조를 생성합니다. 그리고 지도의 키로 사용하세요.
구문
struct key{ float f; }
생성된 맵에서 이 사용자 정의 데이터 유형을 사용하여 프로그래머는 맵에서 보다 유익한 데이터 세트를 얻을 수 있습니다. 구조체에는 여러 데이터가 포함될 수 있으며, 이 경우에는 배열 및 기타 데이터 구조도 고려하는 데 유효합니다.
예시
#include <bits/stdc++.h> using namespace std; struct kdata { float id; }; bool operator<(const kdata& t1, const kdata& t2){ return (t1.id < t2.id); } int main(){ kdata t1 = { 4.5 }, t2 = { 12.3 }, t3 = { 67.8 }, t4 = { 65.2 }; map<kdata, char> maps; maps[t1] = a; maps[t2] = h; maps[t3] = m; maps[t4] = q; cout<<"The map data is "; for (auto x : maps) cout << x.first.id << " > " << x.second << endl; return 0; }
출력
The map data is 4.5 > a 12.3 > h 67.8 > m 65.2 > q