中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++ map遍歷刪除元素怎么實現

c++
小億
166
2024-01-22 12:07:07
欄目: 編程語言

在C++中,可以使用迭代器來遍歷和刪除map中的元素。以下是一種常見的實現方式:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "Apple";
    myMap[2] = "Banana";
    myMap[3] = "Orange";
    myMap[4] = "Grape";

    // 遍歷并刪除符合條件的元素
    for(auto it = myMap.begin(); it != myMap.end(); ) {
        if(it->second == "Banana") {
            it = myMap.erase(it); // 刪除元素并更新迭代器
        }
        else {
            ++it;
        }
    }

    // 輸出剩余元素
    for(const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

這段代碼創建了一個map,然后使用迭代器遍歷它。在遍歷過程中檢查每個元素的值是否為"Banana",如果是,則使用erase()函數刪除該元素,并將迭代器更新為指向下一個元素;如果不是,則將迭代器遞增到下一個元素。這樣可以遍歷并刪除map中所有值為"Banana"的元素。

注意,在使用erase()函數刪除元素后,迭代器會失效,因此必須將其更新為指向下一個元素,否則會引發未定義行為。

0
襄樊市| 长沙县| 乌兰县| 延寿县| 新泰市| 高台县| 灌云县| 军事| 京山县| 安平县| 习水县| 阿坝| 武穴市| 大方县| 房产| 葫芦岛市| 奉贤区| 红原县| 青海省| 微博| 凌云县| 岗巴县| 调兵山市| 库车县| 珠海市| 北海市| 永清县| 工布江达县| 花莲县| 东丰县| 汤原县| 广西| 驻马店市| 桑植县| 读书| 盐津县| 余庆县| 灵丘县| 自治县| 蒙山县| 涞水县|