亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++ std::map幾種遍歷方式(正序倒序)

 更新時(shí)間:2024年02月20日 14:35:11   作者:Adunn  
這篇文章主要介紹了C++ std::map幾種遍歷方式,包含正序遍歷和倒序遍歷,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、map 的定義方式

//默認(rèn)定義格式(默認(rèn)按key升序存儲(chǔ)): key, value,其中key可以是任意類型
std::map<std::uint32_t, std::string> myMap;  //key 值為 std::uint32_t 類型
std::map<std::string, std::string> myMap;    //key 值為 std::string 類型

//指定數(shù)據(jù)按key升序存儲(chǔ)
std::map<std::uint32_t, std::string, std::greater<std::uint32_t> > myMap; 

//指定數(shù)據(jù)按key升序存儲(chǔ)
std::map<std::uint32_t, std::string, std::less<std::uint32_t> > myMap; 

2、正序遍歷 map

注意:正序使用的是 std::map<std::uint32_t, std::string>::iterator, 倒序使用的是:std::map<std::uint32_t, std::string>::reverse_iterator。

2.1 使用 for 循環(huán)

#include <iostream>
#include <map>
 
int main()
{
    std::map<std::uint32_t, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
 
    // 使用迭代器倒序遍歷map
    std::map<std::uint32_t, std::string>::iterator iter;
    for (iter = myMap.begin(); iter != myMap.end(); ++iter) 
    {
        std::cout << iter->first << " => " << iter->second << '\n';
    }
 
    return 0;
}

2.2 使用 while 循環(huán)

#include <iostream>
#include <map>
 
int main()
{
    std::map<std::uint32_t, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};

    std::map<std::uint32_t, std::string>::iterator iter = myMap.begin(); 

    // 使用迭代器倒序遍歷map
    while (iter != myMap.end()) 
    {
        std::cout << iter->first << " => " << iter->second << '\n';
        ++it;
    }
 
    return 0;
}

3、倒序遍歷 map

注意:正序使用的是 std::map<std::uint32_t, std::string>::iterator, 倒序使用的是:std::map<std::uint32_t, std::string>::reverse_iterator。

3.1 使用 for 循環(huán)

#include <iostream>
#include <map>
 
int main()
{
    std::map<std::uint32_t, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
 
    // 使用迭代器倒序遍歷map
    std::map<std::uint32_t, std::string>::reverse_iterator iter;
    for (iter = myMap.rbegin(); iter != myMap.rend(); ++iter) 
    {
        std::cout << iter->first << " => " << iter->second << '\n';
    }
 
    return 0;
}

3.2 使用 while 循環(huán)

#include <iostream>
#include <map>
 
int main()
{
    std::map<std::uint32_t, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};

    std::map<std::uint32_t, std::string>::reverse_iterator iter = myMap.rbegin(); 

    // 使用迭代器倒序遍歷map
    while (iter != myMap.rend()) 
    {
        std::cout << iter->first << " => " << iter->second << '\n';
        ++it;
    }
 
    return 0;
}

4、使用 std::greater 屬性,直接定義倒序存儲(chǔ)的 map

注意:正序使用的是 std::map<std::uint32_t, std::string>::iterator, 倒序使用的是:std::map<std::uint32_t, std::string>::reverse_iterator。

4.1 使用 for 循環(huán)

#include <iostream>
#include <map>
 
int main()
{
    std::map<std::uint32_t, std::string, std::greater<std::uint32_t> > myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
 
    // 使用迭代器倒序遍歷map
    std::map<std::uint32_t, std::string>::iterator iter;
    for (iter = myMap.begin(); iter != myMap.end(); ++iter) 
    {
        std::cout << iter->first << " => " << iter->second << '\n';
    }
 
    return 0;
}

4.2 使用 while 循環(huán)

#include <iostream>
#include <map>
 
int main()
{
    std::map<std::uint32_t, std::string, std::greater<std::uint32_t> > myMap = {{1, "one"}, {2, "two"}, {3, "three"}};

    std::map<std::uint32_t, std::string>::iterator iter = myMap.begin(); 

    // 使用迭代器倒序遍歷map
    while (iter != myMap.end()) 
    {
        std::cout << iter->first << " => " << iter->second << '\n';
        ++it;
    }
 
    return 0;
}

到此這篇關(guān)于C++ std::map幾種遍歷方式(正序倒序)的文章就介紹到這了,更多相關(guān)C++ std::map遍歷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言零基礎(chǔ)入門(2)

    C語(yǔ)言零基礎(chǔ)入門(2)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言零基礎(chǔ)入門的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C語(yǔ)言數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)設(shè)計(jì)

    C語(yǔ)言數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語(yǔ)言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)

    C語(yǔ)言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)

    這篇文章主要介紹了C語(yǔ)言中如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言的遞歸函數(shù)詳解

    C語(yǔ)言的遞歸函數(shù)詳解

    這篇文章主要為大家介紹了C語(yǔ)言的遞歸函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • visual studio code 配置C++開(kāi)發(fā)環(huán)境的教程詳解 (windows 開(kāi)發(fā)環(huán)境)

    visual studio code 配置C++開(kāi)發(fā)環(huán)境的教程詳解 (windows 開(kāi)發(fā)環(huán)境)

    這篇文章主要介紹了 windows 開(kāi)發(fā)環(huán)境下visual studio code 配置C++開(kāi)發(fā)環(huán)境的圖文教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • C/C++ 宏詳細(xì)解析

    C/C++ 宏詳細(xì)解析

    關(guān)于宏的一些語(yǔ)法問(wèn)題,可以在google上找到。相信我,你對(duì)于宏的了解絕對(duì)沒(méi)你想象的那么多。如果你還不知道#和##,也不知道prescan,那么你肯定對(duì)宏的了解不夠
    2013-09-09
  • C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)銀行ATM存取款功能

    C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)銀行ATM存取款功能

    這個(gè)是大一時(shí)期寫的。大四的時(shí)候整理了一下(本人C語(yǔ)言學(xué)的也不太好)??隙ê芏嗖蛔愫痛嬖诼┒吹牡胤?、僅供借鑒、僅供借鑒,代碼中有大量注釋,新手看起來(lái)也沒(méi)有困難
    2021-11-11
  • c++關(guān)鍵字mutable深入解析

    c++關(guān)鍵字mutable深入解析

    先說(shuō)用法,mutable關(guān)鍵字只能修飾非靜態(tài)以及非常量成員變量,使用mutable修飾的成員變量在const函數(shù)中的值是可以修改的
    2013-09-09
  • visual studio code 編譯運(yùn)行html css js文件的教程

    visual studio code 編譯運(yùn)行html css js文件的教程

    這篇文章主要介紹了visual studio code 如何編譯運(yùn)行html css js文件,本文通過(guò)圖文實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • C語(yǔ)言單鏈表版學(xué)生信息管理系統(tǒng)

    C語(yǔ)言單鏈表版學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言單鏈表版學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論