ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส/map

จาก testwiki
รุ่นแก้ไขเมื่อ 17:24, 23 มีนาคม 2567 โดย imported>Minorax
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

แม่แบบ:ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส/แถบนำทาง map เป็นโครงสร้างข้อมูลแบบ w:Associative array ข้อมูลหนึ่ง ๆ จะประกอบไปด้วยสองส่วนคือ คีย์ และ ค่าข้อมูล ในการที่จะเข้าถึงค่าหนึ่ง ๆ สามารถกระทำได้ผ่านการระบุ key ดังนั้นจึงอาจมอง map เป็นแถวลำดับซึ่งไม่มีข้อจำกัดด้านพิสัยของดัชนีหรือชนิดข้อมูลของดัชนี

map ของไลบรารีแม่แบบมาตรฐานนี้อิมพลีเมนต์โดยใช้w:ต้นไม้แดงดำ ซึ่งจากการที่เก็บข้อมูลบนต้นไม้ค้นหาแบบทวิภาคจึงทำให้มีคุณสมบัติต่าง ๆ เพิ่มขึ้นมาจาก w:Associative array ปกติ เช่น คุณสมบัติในการหาค่าที่มากกว่าสมาชิกดังกล่าว ผ่านw:การค้นหาแบบทวิภาคบนต้นไม้ อย่างไรก็ตาม เนื่องจากการเก็บข้อมูลบนต้นไม้แดงดำต้องอาศัยการเปรียบเทียบของคีย์จึงจำเป็นที่จะต้องระบุฟังก์ชัน/คลาสสในการเปรียบเทียบให้ด้วย (หากไม่ระบุจะใช้ [[../less/]] เป็นคลาสเปรียบเทียบโดยอัตโนมัติ)

การใช้งานและประกาศตัวแปร

ก่อนอื่นให้ทำการ #include <map>

สมมุติถ้าต้องการจะประกาศตัวแปร var โดยคีย์มีชนิดข้อมูลเป็น type1 และค่าข้อมูลมีชนิดข้อมูลเป็น type2 สามารถเขียนโค้ดได้ดังนี้: map <datatype1,datatype2> var;

method

lower_bound

แม่แบบ:STLdata

upper_bound

แม่แบบ:โครงส่วน

erase

แม่แบบ:โครงส่วน

operator

[]

แม่แบบ:โครงส่วน

++

แม่แบบ:โครงส่วน

--

แม่แบบ:โครงส่วน

สารบัญ

แม่แบบ:Stage short stack
แม่แบบ:Stage short queue
แม่แบบ:Stage short priority_queue
แม่แบบ:Stage short deque
แม่แบบ:Stage short vector
แม่แบบ:Stage short map
แม่แบบ:Stage short set