Computer >> Máy Tính >  >> Lập trình >> C ++

Bản đồ C ++ có khóa là kiểu dữ liệu do người dùng xác định

Bản đồ là một cấu trúc dữ liệu lưu trữ thông tin dưới dạng các cặp giá trị và khóa. Trong C ++, bản đồ được định nghĩa trong STL (thư viện mẫu chuẩn) và lưu trữ các khóa ở dạng có thứ tự.

Cú pháp để xác định bản đồ -

map<key_type , value_type> map_name;

Kiểu dữ liệu của bất kỳ dữ liệu nào trong hai dữ liệu này của bản đồ có thể là bất kỳ kiểu dữ liệu nào. Chúng ta có thể có bất kỳ kiểu dữ liệu chính hoặc kiểu dữ liệu dẫn xuất nào làm kiểu dữ liệu khóa hoặc giá trị trong bản đồ.

Chúng ta có thể sử dụng bất kỳ kiểu dữ liệu nào làm kiểu dữ liệu của khóa của bản đồ. Ngay cả kiểu dữ liệu do người dùng xác định cũng có thể được sử dụng làm kiểu dữ liệu chính.

Bây giờ, chúng ta sẽ tạo một cấu trúc dữ liệu xác định một kiểu dữ liệu mới. Và sử dụng nó làm chìa khóa cho bản đồ.

Cú pháp

struct key{
   float f;
}

Sử dụng kiểu dữ liệu do người dùng xác định này trong bản đồ được tạo, lập trình viên có thể nhận được tập dữ liệu nhiều thông tin hơn từ bản đồ. Một cấu trúc có thể có bất kỳ số lượng dữ liệu nào trong đó, ngay cả các mảng và cấu trúc dữ liệu khác cũng hợp lệ để được xem xét trong trường hợp này.

Ví dụ

#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;
}

Đầu ra

The map data is
4.5 > a
12.3 > h
67.8 > m
65.2 > q