Multimap ใน C++ STL คืออะไร?
Multimap เป็น associative container ที่คล้ายกับ map แต่แตกต่างกันที่ multimap อนุญาตให้มีหลายค่า (multiple elements) ผูกกับคีย์ (key) เดียวกันได้ ข้อมูลภายในจะถูกจัดเรียงอัตโนมัติตามคีย์
ฟังก์ชัน multimap::clear() คืออะไร?
ฟังก์ชัน multimap::clear() เป็นฟังก์ชันในตัวของ C++ STL ประกาศอยู่ใน header <map> ใช้เพื่อลบข้อมูลทั้งหมดออกจาก multimap container ทำให้ขนาดของ container กลายเป็น 0
รูปแบบไวยากรณ์ (Syntax)
map_name.clear();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ค่าที่ส่งคืน (Return Value)
ฟังก์ชันนี้ไม่ส่งค่าอะไรกลับ (void)
ตัวอย่างการใช้งาน
#include <iostream>
#include <map>
using namespace std;
int main() {
multimap<int, int> mul_1;
// แทรกข้อมูลเข้า multimap
mul_1.insert({1, 10});
mul_1.insert({2, 20});
mul_1.insert({3, 30});
mul_1.insert({4, 40});
mul_1.insert({5, 50});
cout << "Multimap size before using clear function: ";
cout << mul_1.size() << '\n';
mul_1.clear();
cout << "Multimap size after using clear function: ";
cout << mul_1.size() << '\n';
return 0;
}
ผลลัพธ์
Multimap size before using clear function: 5 Multimap size after using clear function: 0
หมายเหตุเพิ่มเติม
- หลังจากเรียก
clear()แล้ว ทุก iterator, pointer และ reference ที่ชี้ไปยังองค์ประกอบใน multimap จะกลายเป็น invalid - ฟังก์ชันนี้มี time complexity เป็น O(n) โดย n คือจำนวนองค์ประกอบใน multimap
- หากต้องการตรวจสอบว่า multimap ว่างหรือไม่หลังจาก clear ให้ใช้ฟังก์ชัน
empty()