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

溫馨提示×

c++怎么遍歷map刪除特定元素

c++
小億
384
2024-01-29 16:17:05
欄目: 編程語言

在C++中,可以使用迭代器來遍歷map,并刪除特定元素。具體的步驟如下:

  1. 定義一個迭代器來遍歷map。例如,使用auto來定義一個自動推導的迭代器:
for (auto it = myMap.begin(); it != myMap.end();)
{
    // 遍歷的代碼
}
  1. 在遍歷的代碼中,判斷當前元素是否需要刪除。如果需要刪除,則使用迭代器的erase()方法來刪除元素,并將迭代器指向下一個元素。如果不需要刪除,則直接將迭代器指向下一個元素。
if (條件滿足)
{
    myMap.erase(it++); // 先用后加,避免迭代器失效
}
else
{
    ++it;
}

完整的示例代碼如下:

#include <iostream>
#include <map>

int main()
{
    std::map<int, std::string> myMap;
    myMap[1] = "one";
    myMap[2] = "two";
    myMap[3] = "three";
    myMap[4] = "four";
    myMap[5] = "five";

    // 遍歷并刪除特定元素
    for (auto it = myMap.begin(); it != myMap.end();)
    {
        if (it->first == 3)
        {
            myMap.erase(it++); // 先用后加,避免迭代器失效
        }
        else
        {
            ++it;
        }
    }

    // 輸出結果
    for (const auto& pair : myMap)
    {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

運行以上代碼,輸出結果為:

1: one
2: two
4: four
5: five

可以看到,元素3被成功刪除了。

0
汶川县| 虹口区| 长宁区| 游戏| 普兰店市| 凤冈县| 金昌市| 隆安县| 忻城县| 巩义市| 缙云县| 乌海市| 德昌县| 女性| 遂川县| 宜宾县| 潞城市| 都昌县| 海丰县| 偃师市| 安福县| 穆棱市| 安陆市| 平潭县| 全椒县| 诸城市| 无棣县| 五原县| 丰宁| 黔江区| 石首市| 伊金霍洛旗| 二连浩特市| 辽宁省| 怀化市| 海林市| 武冈市| 平定县| 晋江市| 林芝县| 长岭县|