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