亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何在C++ set遍歷中刪除元素

c++
小樊
137
2024-07-09 00:37:27
欄目: 編程語言

在C++中,不能在set的遍歷過程中直接刪除元素,因為這樣會影響迭代器的有效性。如果要刪除set中的元素,需要先標記要刪除的元素,然后在遍歷完成后再統一刪除。

下面是一個示例代碼,演示了如何在遍歷set時刪除元素:

#include <iostream>
#include <set>

int main() {
    std::set<int> mySet = {1, 2, 3, 4, 5};

    // 要刪除的元素集合
    std::set<int> toRemove = {2, 4};

    // 遍歷set,刪除指定的元素
    for(auto it = mySet.begin(); it != mySet.end(); ) {
        if(toRemove.count(*it)) {
            it = mySet.erase(it);
        } else {
            ++it;
        }
    }

    // 輸出刪除后的set
    for(auto it = mySet.begin(); it != mySet.end(); ++it) {
        std::cout << *it << " ";
    }

    return 0;
}

在上面的示例中,先創建了一個set,并定義了要刪除的元素集合toRemove。然后通過遍歷set,將需要刪除的元素標記并在循環結束后統一刪除。

0
清水县| 阳城县| 河东区| 呼和浩特市| 陈巴尔虎旗| 肃宁县| 阿拉尔市| 娄底市| 清原| 保德县| 阳西县| 东乡| 敦化市| 曲周县| 盐城市| 宁明县| 阳东县| 宁乡县| 凤凰县| 永泰县| 周宁县| 邯郸县| 阿合奇县| 永胜县| 武冈市| 东阳市| 大港区| 白银市| 那坡县| 芦溪县| 山丹县| 遂平县| 黔南| 宜丰县| 杂多县| 芜湖市| 普兰县| 柏乡县| 吉安县| 龙川县| 双桥区|