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

사용자 정의 데이터 유형으로 키가 있는 C++ 맵

<시간/>

맵은 키와 값 쌍의 형태로 정보를 저장하는 데이터 구조입니다. 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