ผลต่างระหว่างรุ่นของ "ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส/map"
หน้าที่ถูกสร้างด้วย '{{ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส/แถบนำทา...' |
(ไม่แตกต่าง)
|
รุ่นแก้ไขเมื่อ 18:30, 21 กุมภาพันธ์ 2556
map เป็นโครงสร้างข้อมูลแบบ w:Associative array ข้อมูลหนึ่ง ๆ จะประกอบไปด้วยสองส่วนคือ คีย์ และ ค่าข้อมูล ในการที่จะเข้าถึงค่าหนึ่ง ๆ สามารถกระทำได้ผ่านการระบุ key ดังนั้นจึงอาจมอง map เป็นแถวลำดับซึ่งไม่มีข้อจำกัดด้านพิสัยของดัชนีหรือชนิดข้อมูลของดัชนี
map ของไลบรารีแม่แบบมาตรฐานนี้อิมพลีเมนต์โดยใช้w:ต้นไม้แดงดำ ซึ่งจากการที่เก็บข้อมูลบนต้นไม้ค้นหาแบบทวิภาคจึงทำให้มีคุณสมบัติต่าง ๆ เพิ่มขึ้นมาจาก w:Associative array ปกติ เช่น คุณสมบัติในการหาw:ขอบเขตบนหรือw:ขอบเขตล่างผ่านw:การค้นหาแบบทวิภาคบนต้นไม้ อย่างไรก็ตาม เนื่องจากการเก็บข้อมูลบนต้นไม้แดงดำต้องอาศัยการเปรียบเทียบของคีย์จึงจำเป็นที่จะต้องระบุฟังก์ชัน/คลาสสในการเปรียบเทียบให้ด้วย (หากไม่ระบุจะใช้ less เป็นคลาสเปรียบเทียบโดยอัตโนมัติ)
การใช้งานและประกาศตัวแปร
ก่อนอื่นให้ทำการ #include <map>
สมมุติถ้าต้องการจะประกาศตัวแปร var
โดยคีย์มีชนิดข้อมูลเป็น datatype1
และค่าข้อมูลมีชนิดข้อมูลเป็น datatype2
สามารถเขียนโค้ดได้ดังนี้: map <datatype1,datatype2> var;
method
push
คำอธิบาย | เป็นการเพิ่มข้อมูลชนิด T ลงทางด้านปลายของ stack ใช้เวลา
|
---|---|
พารามิเตอร์ | มีเพียงตัวเดียวคือข้อมูลชนิด T ที่ต้องการจะใส่ลง stack |
คืนค่า | ไม่มี |
ฟังก์ชั่นต้นแบบ | void push(T);
|
ข้อควรระวัง | ไม่มี |