ไลบรารี C ++ - <map>
ความรู้เบื้องต้นเกี่ยวกับแผนที่
แผนที่เป็นพจนานุกรมเหมือนโครงสร้างข้อมูล เป็นลำดับของคู่ (คีย์ค่า) ซึ่งมีเพียงค่าเดียวเท่านั้นที่เชื่อมโยงกับแต่ละคีย์ที่ไม่ซ้ำกัน มันมักจะถูกเรียกว่าเป็นอาเรย์
โดยทั่วไปค่าคีย์ในแผนที่จะใช้เพื่อจัดเรียงองค์ประกอบ สำหรับแผนที่ประเภทข้อมูลของคีย์และค่าอาจแตกต่างกันและแสดงเป็น
typedef pair<const Key, T> value_type;
โดยทั่วไปแผนที่จะใช้เป็นแบบไบนารี Search Tree
แผนที่ขนาดศูนย์ก็ใช้ได้เช่นกัน ในกรณีนั้น map.begin () และ map.end () ชี้ไปที่ตำแหน่งเดียวกัน
คำจำกัดความ
ด้านล่างนี้คือคำจำกัดความของ std :: map จากไฟล์ส่วนหัว <map>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class map;
พารามิเตอร์
Key - ประเภทของคีย์
T - ประเภทของค่าที่แมป
Compare - เพรดิเคตไบนารีที่ใช้คีย์องค์ประกอบสองปุ่มเป็นอาร์กิวเมนต์และส่งคืนบูล
Alloc - ประเภทของวัตถุตัวจัดสรร
T อาจถูกแทนที่ด้วยประเภทข้อมูลอื่น ๆ รวมถึงประเภทที่ผู้ใช้กำหนด
ประเภทสมาชิก
ประเภทสมาชิกต่อไปนี้สามารถใช้เป็นพารามิเตอร์หรือประเภทการส่งคืนโดยฟังก์ชันสมาชิก
ซีเนียร์ | ประเภทสมาชิก | คำจำกัดความ |
---|---|---|
1 | key_type | คีย์ (พารามิเตอร์แรกของเทมเพลต) |
2 | mapped_type | T (พารามิเตอร์ที่สองของเทมเพลต) |
3 | key_compare | เปรียบเทียบ (พารามิเตอร์ที่สามของเทมเพลต) |
4 | จัดสรร _type | Alloc (พารามิเตอร์ที่สี่ของเทมเพลต) |
5 | value_type | จับคู่ <const key_type, mapped_type> |
6 | value_compare | คลาสฟังก์ชันที่ซ้อนกันเพื่อเปรียบเทียบองค์ประกอบ |
7 | เอกสารอ้างอิง | จัดสรร _type :: อ้างอิง |
8 | const_reference | จัดสรร _type :: const_reference |
9 | ตัวชี้ | จัดสรร _type :: ตัวชี้ |
10 | const_pointer | จัดสรร _type :: const_pointer |
11 | iterator | bi-directional iterator เป็นvalue_type |
12 | const_iterator | ตัววนซ้ำแบบสองทิศทางไปยัง const value_type |
13 | reverse_iterator | ตัววนซ้ำย้อนกลับ |
14 | const_reverse_iterator | ตัววนซ้ำแบบย้อนกลับคงที่ |
15 | different_type | ptrdiff_t |
16 | size_type | size_t |
ฟังก์ชั่นจาก <map>
ด้านล่างนี้คือรายการวิธีการทั้งหมดจากส่วนหัว <map>
ตัวสร้าง
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | แผนที่ :: ตัวสร้างแผนที่ เริ่มต้น สร้างแผนที่ว่างโดยมีองค์ประกอบเป็นศูนย์ |
2 | แผนที่ :: ตัว สร้างช่วงแผนที่ สร้างแผนที่ที่มีองค์ประกอบเป็นจำนวนมากในช่วงแรกของการที่ผ่านมา |
3 | แผนที่ :: ตัว สร้างสำเนาแผนที่ สร้างแผนที่พร้อมสำเนาของแต่ละองค์ประกอบที่มีอยู่ในแผนที่ที่มีอยู่ |
4 | แผนที่ :: ตัวสร้างการย้ายแผนที่ สร้างแผนที่ที่มีเนื้อหาอื่น ๆ โดยใช้ความหมายการย้าย |
5 | แผนที่ :: ตัว สร้างรายการเริ่มต้นแผนที่ สร้างแผนที่จากรายการเริ่มต้น |
Destructor
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | แผนที่ :: ~ แผนที่ ทำลายวัตถุแผนที่โดยยกเลิกการจัดสรรหน่วยความจำ |
ฟังก์ชั่นสมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | แผนที่ :: ที่ ผลตอบแทนอ้างอิงกับค่าแมปที่เกี่ยวข้องกับคีย์k |
2 | แผนที่ :: เริ่มต้น ส่งคืนตัววนซ้ำซึ่งอ้างถึงองค์ประกอบแรกของแผนที่ |
3 | แผนที่ :: cbegin ส่งกลับค่าคงที่ตัววนซ้ำซึ่งอ้างถึงองค์ประกอบแรกของแผนที่ |
4 | แผนที่ :: cend ส่งคืนตัววนซ้ำค่าคงที่ซึ่งชี้ไปยังองค์ประกอบที่ผ่านมาถึงจุดสิ้นสุดของแผนที่ |
5 | แผนที่ :: ชัดเจน ทำลายแผนที่โดยลบองค์ประกอบทั้งหมดและกำหนดขนาดของแผนที่เป็นศูนย์ |
6 | แผนที่ :: นับ ผลตอบแทนจำนวนของค่าแมปเกี่ยวข้องกับคีย์k |
7 | แผนที่ :: crbegin ส่งคืนตัววนซ้ำแบบย้อนกลับคงที่ซึ่งชี้ไปยังองค์ประกอบสุดท้ายของคอนเทนเนอร์ i |
8 | แผนที่ :: crend ส่งกลับค่าคงที่ย้อนกลับตัววนซ้ำซึ่งชี้ไปที่องค์ประกอบทางทฤษฎีที่อยู่ก่อนองค์ประกอบแรกในคอนเทนเนอร์ i |
9 | แผนที่ :: emplace ขยายคอนเทนเนอร์โดยการใส่องค์ประกอบใหม่ |
10 | แผนที่ :: เวอร์ชันคำใบ้emplace_hint แทรกองค์ประกอบใหม่ในแผนที่โดยใช้คำใบ้เป็นตำแหน่งขององค์ประกอบ |
11 | แผนที่ :: ว่างเปล่า ทดสอบว่าแผนที่ว่างหรือไม่ |
12 | แผนที่ :: จบ ส่งคืนตัววนซ้ำซึ่งชี้ไปยังองค์ประกอบที่ผ่านจุดสิ้นสุดในแผนที่ |
13 | แผนที่ :: ช่วงที่เท่าเทียมกัน ส่งคืนช่วงขององค์ประกอบที่ตรงกับคีย์ที่ระบุ |
14 | แผนที่ :: ลบ ตำแหน่งรุ่น เอาองค์ประกอบหนึ่งของแผนที่จากตำแหน่ง |
15 | แผนที่ :: ลบ ตำแหน่งรุ่น เอาองค์ประกอบหนึ่งของแผนที่จากตำแหน่ง |
16 | แผนที่ :: ลบ คีย์ เอาค่าแมปเกี่ยวข้องกับคีย์k |
17 | แผนที่ :: ลบ เวอร์ชันช่วง ลบช่วงขององค์ประกอบออกจากแผนที่ |
18 | แผนที่ :: ลบ เวอร์ชันช่วง ลบช่วงขององค์ประกอบออกจากแผนที่ |
19 | แผนที่ :: ค้นหา พบว่าองค์ประกอบที่สำคัญที่เกี่ยวข้องกับk |
20 | แผนที่ :: get_allocator ส่งคืนตัวจัดสรรที่เกี่ยวข้องกับแผนที่ |
21 | แผนที่ :: แทรก องค์ประกอบเดียว ขยายคอนเทนเนอร์โดยการแทรกองค์ประกอบใหม่ในแผนที่ |
22 | แผนที่ :: แทรก เวอร์ชันคำใบ้ ขยายคอนเทนเนอร์โดยการแทรกองค์ประกอบใหม่ในแผนที่ |
23 | แผนที่ :: แทรก เวอร์ชันช่วง ขยายคอนเทนเนอร์โดยการใส่องค์ประกอบใหม่ในแผนที่ |
24 | map :: insert move hint verstion ขยายแผนที่โดยการแทรกองค์ประกอบใหม่ |
25 | map :: แทรก เวอร์ชันรายการ initializer ขยายแผนที่โดยการแทรกองค์ประกอบใหม่จากรายการ initializer |
26 | แผนที่ :: key_comp ส่งคืนวัตถุฟังก์ชั่นที่เปรียบเทียบกุญแจซึ่งเป็นสำเนาของภาชนะคอนสตรัคอาร์กิวเมนต์comp |
27 | แผนที่ :: lower_bound ส่งกลับชี้ไป iterator องค์ประกอบแรกที่ไม่น้อยกว่าที่สำคัญk |
28 | แผนที่ :: max_size แสดงผลจำนวนองค์ประกอบสูงสุดที่แผนที่สามารถถือครองได้ |
29 | map :: operator = copy version กำหนดเนื้อหาใหม่ให้กับแผนที่โดยแทนที่รายการเก่าและปรับเปลี่ยนขนาดหากจำเป็น |
30 | แผนที่ :: ตัวดำเนินการ = ย้ายเวอร์ชัน ย้ายเนื้อหาของแผนที่หนึ่งไปยังอีกแผนที่หนึ่งและปรับเปลี่ยนขนาดหากจำเป็น |
31 | map :: operator = เวอร์ชันรายการ initializer คัดลอกองค์ประกอบจากรายการ initializer ไปยังแผนที่ |
32 | map :: operator [] copy version หากคีย์kตรงกับองค์ประกอบในคอนเทนเนอร์เมธอดจะส่งคืนการอ้างอิงไปยังองค์ประกอบ |
33 | แผนที่ :: ตัวดำเนินการ [] ย้ายเวอร์ชัน หากคีย์kตรงกับองค์ประกอบในคอนเทนเนอร์เมธอดจะส่งคืนการอ้างอิงไปยังองค์ประกอบ |
34 | แผนที่ :: rbegin ส่งคืนตัววนซ้ำแบบย้อนกลับซึ่งชี้ไปยังองค์ประกอบสุดท้ายของแผนที่ |
35 | แผนที่ :: rend ส่งคืนตัววนซ้ำแบบย้อนกลับซึ่งชี้ไปที่ปลายด้านหลังของแผนที่ i |
36 | แผนที่ :: ขนาด ส่งคืนจำนวนองค์ประกอบที่มีอยู่ในแผนที่ |
37 | แผนที่ :: แลกเปลี่ยน เปลี่ยนเนื้อหาของแผนที่ด้วยเนื้อหาของแผนที่ x |
38 | แผนที่ :: upper_bound ส่งกลับ iterator ชี้ไปที่องค์ประกอบแรกซึ่งมากกว่าที่สำคัญk |
39 | แผนที่ :: value_comp ผลตอบแทนที่เป็นวัตถุที่ฟังก์ชั่นที่เปรียบเทียบวัตถุประเภทมาตรฐาน :: แผนที่ :: VALUE_TYPE |
ฟังก์ชันที่ไม่มีสมาชิกมากเกินไป
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | ตัวดำเนินการ == ทดสอบว่าสองแผนที่เท่ากันหรือไม่ |
2 | ตัวดำเนินการ! = ทดสอบว่าสองแผนที่เท่ากันหรือไม่ |
3 | ตัวดำเนินการ < ทดสอบว่าแผนที่แรกน้อยกว่าแผนที่อื่นหรือไม่ |
4 | แผนที่ :: ตัวดำเนินการ <= ทดสอบว่าแผนที่แรกน้อยกว่าหรือเท่ากับแผนที่อื่นหรือไม่ |
5 | ตัวดำเนินการ> ทดสอบว่าแผนที่แรกมีค่ามากกว่าแผนที่อื่นหรือไม่ |
6 | ตัวดำเนินการ> = ทดสอบว่าแผนที่แรกมีค่ามากกว่าหรือเท่ากับแผนที่อื่นหรือไม่ |
7 | แลกเปลี่ยน () เปลี่ยนเนื้อหาของแผนที่ด้วยเนื้อหาของแผนที่ x |
ข้อมูลเบื้องต้นเกี่ยวกับมัลติแมป
Multimap คือพจนานุกรมเหมือนโครงสร้างข้อมูล เป็นลำดับของคู่(คีย์ค่า)ซึ่งสามารถเชื่อมโยงหลายค่ากับคีย์ที่เท่ากันได้ มันมักจะถูกเรียกว่าเป็นอาเรย์
ในค่าคีย์หลายแผนที่โดยทั่วไปจะใช้ในการจัดเรียงองค์ประกอบ สำหรับประเภทข้อมูลหลายแผนที่ของคีย์และค่าอาจแตกต่างกันและแสดงเป็น
typedef pair<const Key, T> value_type;
โดยทั่วไป Multimaps จะถูกนำไปใช้เป็น Binary Search Tree
มัลติแมปขนาดศูนย์ก็ใช้ได้เช่นกัน ในกรณีนั้น multimap.begin () และ multimap.end () ชี้ไปที่ตำแหน่งเดียวกัน
คำจำกัดความ
ด้านล่างนี้คือคำจำกัดความของ std :: multimap จากไฟล์ส่วนหัว <multimap>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class multimap;
พารามิเตอร์
Key - ประเภทของคีย์
T - ประเภทของค่าที่แมป
Compare - เพรดิเคตไบนารีที่ใช้คีย์องค์ประกอบสองปุ่มเป็นอาร์กิวเมนต์และส่งคืนบูล
Alloc - ประเภทของวัตถุตัวจัดสรร
T อาจถูกแทนที่ด้วยประเภทข้อมูลอื่น ๆ รวมถึงประเภทที่ผู้ใช้กำหนด
ประเภทสมาชิก
ประเภทสมาชิกต่อไปนี้สามารถใช้เป็นพารามิเตอร์หรือประเภทการส่งคืนโดยฟังก์ชันสมาชิก
ซีเนียร์ | ประเภทสมาชิก | คำจำกัดความ |
---|---|---|
1 | key_type | คีย์ (พารามิเตอร์แรกของเทมเพลต) |
2 | mapped_type | T (พารามิเตอร์ที่สองของเทมเพลต) |
3 | key_compare | เปรียบเทียบ (พารามิเตอร์ที่สามของเทมเพลต) |
4 | จัดสรร _type | Alloc (พารามิเตอร์ที่สี่ของเทมเพลต) |
5 | value_type | จับคู่ <const key_type, mapped_type> |
6 | value_compare | คลาสฟังก์ชันที่ซ้อนกันเพื่อเปรียบเทียบองค์ประกอบ |
7 | เอกสารอ้างอิง | จัดสรร _type :: อ้างอิง |
8 | const_reference | จัดสรร _type :: const_reference |
9 | ตัวชี้ | จัดสรร _type :: ตัวชี้ |
10 | const_pointer | จัดสรร _type :: const_pointer |
11 | iterator | bi-directional iterator เป็นvalue_type |
12 | const_iterator | ตัววนซ้ำแบบสองทิศทางไปยัง const value_type |
13 | reverse_iterator | ตัววนซ้ำย้อนกลับ |
14 | const_reverse_iterator | ตัววนซ้ำแบบย้อนกลับคงที่ |
15 | different_type | ptrdiff_t |
16 | size_type | size_t |
ฟังก์ชั่นจาก <multimap>
ด้านล่างนี้คือรายการวิธีการทั้งหมดจากส่วนหัว <multimap>
ตัวสร้าง
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | multimap :: ตัว สร้างเริ่มต้นหลายแผนที่ สร้าง Multimap ว่างเปล่าโดยมีองค์ประกอบเป็นศูนย์ |
2 | multimap :: ตัว สร้างช่วงหลายแผนที่ โครงสร้าง Multimap ที่มีองค์ประกอบเป็นจำนวนมากในช่วงแรกของการที่ผ่านมา |
3 | multimap :: ตัว สร้างสำเนาหลายแผนที่ สร้างมัลติแมปพร้อมสำเนาของแต่ละองค์ประกอบที่มีอยู่ในมัลติแมปที่มีอยู่ |
4 | multimap :: ตัวสร้างการย้ายหลายแผนที่ สร้างมัลติแมปที่มีเนื้อหาของสิ่งอื่น ๆ โดยใช้ความหมายการย้าย |
5 | multimap :: ตัว สร้างรายการเริ่มต้นหลายแผนที่ สร้างแผนที่หลายรายการจากรายการเริ่มต้น |
Destructor
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | มัลติแมป :: ~ มัลติแมป ทำลายวัตถุหลายแผนที่โดยการจัดสรรหน่วยความจำ |
ฟังก์ชั่นสมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | มัลติแมป :: เริ่มต้น ส่งคืนตัววนซ้ำซึ่งอ้างถึงองค์ประกอบแรกของมัลติแมป |
2 | มัลติแมป :: cbegin ส่งกลับค่าคงที่ตัววนซ้ำซึ่งอ้างถึงองค์ประกอบแรกของมัลติแมป |
3 | มัลติแมป :: cend ส่งคืนตัววนซ้ำค่าคงที่ซึ่งชี้ไปยังองค์ประกอบที่ผ่านมา - ปลายสุดของมัลติแมป |
4 | มัลติแมป :: ชัดเจน ทำลายมัลติแมปโดยการลบองค์ประกอบทั้งหมดและกำหนดขนาดของมัลติแมปเป็นศูนย์ |
5 | มัลติแมป :: นับ จำนวนผลตอบแทนของค่า multimapped เกี่ยวข้องกับคีย์k |
6 | มัลติแมป :: crbegin ส่งคืนตัววนซ้ำแบบย้อนกลับคงที่ซึ่งชี้ไปยังองค์ประกอบสุดท้ายของคอนเทนเนอร์ |
7 | มัลติแมป :: crend ส่งคืนตัววนซ้ำแบบย้อนกลับคงที่ซึ่งชี้ไปที่องค์ประกอบทางทฤษฎีที่อยู่ก่อนองค์ประกอบแรกในคอนเทนเนอร์ |
8 | มัลติแมป :: emplace ขยายคอนเทนเนอร์โดยการใส่องค์ประกอบใหม่ |
9 | multimap :: เวอร์ชันคำใบ้emplace_hint แทรกองค์ประกอบใหม่ในมัลติแมปโดยใช้คำใบ้เป็นตำแหน่งสำหรับองค์ประกอบ |
10 | มัลติแมป :: ว่างเปล่า ทดสอบว่ามัลติแมปว่างเปล่าหรือไม่ |
11 | มัลติแมป :: end ส่งคืนตัววนซ้ำซึ่งชี้ไปยังองค์ประกอบที่ผ่านจุดสิ้นสุดในมัลติแมป |
12 | มัลติแมป :: equal_range ส่งคืนช่วงขององค์ประกอบที่ตรงกับคีย์ที่ระบุ |
13 | มัลติแมป :: ลบ เวอร์ชันตำแหน่ง เอาองค์ประกอบเดียวของ Multimap จากตำแหน่ง |
14 | มัลติแมป :: ลบ เวอร์ชันตำแหน่ง เอาองค์ประกอบเดียวของ Multimap จากตำแหน่ง |
15 | มัลติแมป :: ลบ คีย์ เอาค่าแมปเกี่ยวข้องกับคีย์k |
16 | มัลติแมป :: ลบ เวอร์ชันช่วง ลบช่วงขององค์ประกอบออกจากมัลติแมป |
17 | มัลติแมป :: ลบ เวอร์ชันช่วง ลบช่วงขององค์ประกอบออกจากมัลติแมป |
18 | มัลติแมป :: ค้นหา พบว่าองค์ประกอบที่สำคัญที่เกี่ยวข้องกับk |
19 | มัลติแมป :: get_allocator ส่งคืนตัวจัดสรรที่เกี่ยวข้องกับมัลติแมป |
20 | มัลติแมป :: แทรก องค์ประกอบเดียว ขยายคอนเทนเนอร์โดยการแทรกองค์ประกอบใหม่ในมัลติแมป |
21 | มัลติแมป :: แทรก เวอร์ชันคำใบ้ ขยายคอนเทนเนอร์โดยการแทรกองค์ประกอบใหม่ในมัลติแมป |
22 | มัลติแมป :: แทรก เวอร์ชันช่วง ขยายคอนเทนเนอร์โดยการใส่องค์ประกอบใหม่ในมัลติแมป |
23 | multimap :: insert move hint verstion ขยายมัลติแมปโดยการแทรกองค์ประกอบใหม่ |
24 | มัลติแมป :: แทรก เวอร์ชันรายการตัวเริ่มต้น ขยายมัลติแมปโดยการแทรกองค์ประกอบใหม่จากรายการ initializer |
25 | มัลติแมป :: key_comp ส่งคืนวัตถุฟังก์ชั่นที่เปรียบเทียบกุญแจซึ่งเป็นสำเนาของภาชนะคอนสตรัคอาร์กิวเมนต์comp |
26 | มัลติแมป :: lower_bound ส่งกลับชี้ไป iterator องค์ประกอบแรกที่ไม่น้อยกว่าที่สำคัญk |
27 | มัลติแมป :: max_size ส่งคืนจำนวนองค์ประกอบสูงสุดที่สามารถจัดเก็บได้ด้วยแผนที่หลายแผนที่ |
28 | multimap :: operator = copy version กำหนดเนื้อหาใหม่ให้กับมัลติแมปโดยแทนที่รายการเก่าและปรับเปลี่ยนขนาดหากจำเป็น |
29 | multimap :: operator = ย้ายเวอร์ชัน ย้ายเนื้อหาของแผนที่หลายรายการไปยังอีกแผนที่หนึ่งและปรับเปลี่ยนขนาดหากจำเป็น |
30 | multimap :: operator = เวอร์ชันรายการ initializer คัดลอกองค์ประกอบจากรายการเริ่มต้นไปยังแผนที่หลายแผนที่ |
31 | มัลติแมป :: rbegin ส่งคืนตัววนซ้ำแบบย้อนกลับซึ่งชี้ไปยังองค์ประกอบสุดท้ายของมัลติแมป |
32 | มัลติแมป :: rend ส่งคืนตัววนซ้ำแบบย้อนกลับซึ่งชี้ไปที่จุดสิ้นสุดด้านหลังของมัลติแมป |
33 | มัลติแมป :: ขนาด ส่งคืนจำนวนองค์ประกอบที่มีอยู่ในมัลติแมป |
34 | มัลติแมป :: แลกเปลี่ยน แลกเปลี่ยนเนื้อหาของมัลติแมปด้วยเนื้อหาของมัลติแมป x |
35 | มัลติแมป :: upper_bound ส่งกลับ iterator ชี้ไปที่องค์ประกอบแรกซึ่งมากกว่าที่สำคัญk |
36 | มัลติแมป :: value_comp ส่งคืนวัตถุฟังก์ชั่นที่เปรียบเทียบวัตถุประเภทมาตรฐาน :: Multimap :: VALUE_TYPE |
ฟังก์ชันที่ไม่มีสมาชิกมากเกินไป
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | ตัวดำเนินการ == ทดสอบว่าสองมัลติแมปเท่ากันหรือไม่ |
2 | ตัวดำเนินการ! = ทดสอบว่าสองมัลติแมปเท่ากันหรือไม่ |
3 | ตัวดำเนินการ < ทดสอบว่ามัลติแมปแรกน้อยกว่าอื่นหรือไม่ |
4 | มัลติแมป :: ตัวดำเนินการ <= ทดสอบว่ามัลติแมปแรกน้อยกว่าหรือเท่ากับอื่น ๆ หรือไม่ |
5 | ตัวดำเนินการ> ทดสอบว่ามัลติแมปแรกมากกว่าที่อื่นหรือไม่ |
6 | ตัวดำเนินการ> = ทดสอบว่ามัลติแมปแรกมากกว่าหรือเท่ากับอื่น ๆ หรือไม่ |
7 | แลกเปลี่ยน () แลกเปลี่ยนเนื้อหาของมัลติแมปด้วยเนื้อหาของมัลติแมป x |