Multimap C ++ คืออะไร?
Multimap C ++ คืออะไร?

วีดีโอ: Multimap C ++ คืออะไร?

วีดีโอ: Multimap C ++ คืออะไร?
วีดีโอ: C++/STL - Ep 7 map และ multimap หรือ Binary Tree แบบ Key และ Value 2024, อาจ
Anonim

มัลติแมป เป็นคอนเทนเนอร์ที่เชื่อมโยงกันซึ่งจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมป ตามลำดับเฉพาะ และองค์ประกอบหลายรายการสามารถมีคีย์ที่เทียบเท่าได้

ดังนั้น Multimap ใน C ++ คืออะไร?

หลายแผนที่ใน C++ เป็นไลค์แมปคอนเทนเนอร์ที่เชื่อมโยง โดยจะจัดเก็บองค์ประกอบภายในเป็นคู่ค่าคีย์ แต่ต่างจากแผนที่ซึ่งเก็บเฉพาะคีย์ที่ไม่ซ้ำ มัลติแมป สามารถมีคีย์ซ้ำได้ นอกจากนี้ยังเก็บองค์ประกอบภายในตามลำดับของคีย์

ต่อจากนั้น คำถามคือ อะไรคือความแตกต่างระหว่าง MAP และ Multimap ใน C++? NS แผนที่ และ มัลติแมป เป็นทั้งคอนเทนเนอร์ที่จัดการคู่คีย์/ค่าเป็นส่วนประกอบเดียว จำเป็น ความแตกต่างระหว่าง ทั้งสองคือ ในแผนที่ คีย์ต้องไม่ซ้ำกัน ในขณะที่ a มัลติแมป อนุญาตคีย์ซ้ำ

นอกจากนี้ Multimap เรียงลำดับ C ++ หรือไม่

มัลติแมป ::emplace() ใน C++ STL–แทรกคีย์และองค์ประกอบใน มัลติแมป คอนเทนเนอร์. มัลติแมป ::begin() และ มัลติแมป ::end() ใน C++ STL– start() ส่งคืนตัววนซ้ำที่อ้างถึงองค์ประกอบแรกใน มัลติแมป คอนเทนเนอร์. มัลติแมป ::ลบ()ใน C++ STL– ลบค่าคีย์ออกจาก มัลติแมป.

Unordered_map เร็วกว่าแผนที่หรือไม่

มาตรฐาน:: แผนที่ ถือว่าช้ากว่าปกติ กว่า ไม่เรียงลำดับ แผนที่ แต่ใช้งานได้แน่นอนหากจำเป็นต้องเข้าถึงตามคำสั่ง มาตรฐาน:: unordered_map เก็บไว้ในตารางแฮช นี้ช่วยให้สำหรับ เร็วขึ้น เข้าถึงองค์ประกอบตามการคำนวณแฮชที่ทำบนคีย์ค่า