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