溫馨提示×

c++ 中的 set 如何處理元素刪除

c++
小樊
116
2024-11-29 18:13:55
欄目: 編程語言

在 C++ 中,std::set 是一個關聯容器,它包含一組唯一的對象。當你從 std::set 中刪除一個元素時,它會自動調整其內部結構以保持元素的唯一性和排序。

要刪除 std::set 中的元素,你可以使用 erase() 成員函數。這是一個簡單的示例:

#include <iostream>
#include <set>

int main() {
    // 創建一個包含一些整數的集合
    std::set<int> my_set = {1, 2, 3, 4, 5};

    // 輸出集合中的元素
    std::cout << "Before deletion: ";
    for (int num : my_set) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    // 刪除集合中的元素
    int element_to_delete = 3;
    my_set.erase(element_to_delete);

    // 輸出刪除元素后的集合
    std::cout << "After deletion: ";
    for (int num : my_set) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在這個示例中,我們首先創建了一個包含一些整數的 std::set。然后,我們使用 erase() 函數刪除了值為 3 的元素。最后,我們輸出刪除元素后的集合。

需要注意的是,erase() 函數可以接受一個迭代器作為參數,用于指定要刪除的元素的位置。你也可以使用 erase() 函數的另一個重載版本,它接受兩個迭代器作為參數,用于指定要刪除的元素范圍。例如:

// 刪除集合中從 it1 到 it2(不包括 it2)的元素
auto it1 = my_set.begin();
auto it2 = my_set.find(4); // 假設我們要刪除值為 4 的元素
my_set.erase(it1, it2);

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女