แผนที่คือโครงสร้างข้อมูลที่จัดเก็บข้อมูลในรูปแบบของคู่คีย์และค่า ใน 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