Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน multimap::clear() ใน C++ STL

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()