国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

map及unordered_map插入及訪問元素的兩種方式

這篇具有很好參考價(jià)值的文章主要介紹了map及unordered_map插入及訪問元素的兩種方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

概述:一是使用容器的insert函數(shù)插入元素,使用迭代器訪問元素,該方法是最通用的做法,適用于各種元素類型;二是使用[]插入和訪問元素,要求元素必須是可默認(rèn)構(gòu)造的。

一、使用insert()插入,使用迭代器訪問

#include <iostream>
#include "unordered_map"
using namespace std;
struct student {
    string name;
    string sex;
    int age;
    student (string s1, string s2, int i) {
        name = s1;
        sex = s2;
        age = i;
    }
    
};
int main() {
    int N;
    while (cin >> N) { // 注意 while 處理多個(gè) case
        // cout << a + b << endl;
        unordered_map <int, student> myMap;
        while (N--) {
            int num;
            string name;
            string sex;
            int age;
            cin >> num >> name >> sex >> age;
            myMap.insert(pair<int,student>(num,student(name, sex, age))) ;
        }
        int M;
        cin >> M;
        while (M--) {
            int num;
            cin >> num;
            if (myMap.find(num) == myMap.end())
                cout << "No Answer!" << endl;
            else {
                student result = myMap.find(num)->second;
                cout << num << ' ' << result.name << ' ' << result.sex << ' ' << result.age <<
                     endl;
            }

        }
    }
}
// 64 位輸出請(qǐng)用 printf("%lld")

二、使用[]插入和訪問元素,需要注意的是此時(shí)元素必須是可默認(rèn)構(gòu)造的,什么是默認(rèn)可構(gòu)造呢?簡單理解就是不能有構(gòu)造函數(shù),顯然結(jié)構(gòu)體是可默認(rèn)構(gòu)造的。那么如何針對(duì)上文中的student結(jié)構(gòu)體類型實(shí)現(xiàn)下標(biāo)訪問呢,看如下代碼:

#include <iostream>
#include "unordered_map"
using namespace std;
struct student {
    string name;
    string sex;
    int age;
    
    
};
int main() {
    int N;
    while (cin >> N) { // 注意 while 處理多個(gè) case
        // cout << a + b << endl;
        unordered_map <int, student> myMap;
        while (N--) {
            int num;
            string name;
            string sex;
            int age;
            cin >> num >> name >> sex >> age;
            // myMap.insert(pair<int,student>(num,student(name, sex, age))) ;
            student temp;
            temp.name=name;
            temp.age=age;
            temp.sex=sex;
            myMap[num]=temp;
        }
        int M;
        cin >> M;
        while (M--) {
            int num;
            cin >> num;
            if (myMap.find(num) == myMap.end())
                cout << "No Answer!" << endl;
            else {
                student result = myMap[num];
                cout << num << ' ' << result.name << ' ' << result.sex << ' ' << result.age <<
                     endl;
            }

        }
    }
}
// 64 位輸出請(qǐng)用 printf("%lld")

?文章來源地址http://www.zghlxwxcb.cn/news/detail-658713.html

?

到了這里,關(guān)于map及unordered_map插入及訪問元素的兩種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 封裝unordered_set&&unordered_map

    注:實(shí)現(xiàn)unordered系列容器是為了學(xué)習(xí),因此并非將全部接口實(shí)現(xiàn),所以只實(shí)現(xiàn)部分接口 目錄 哈希表的改造 模板參數(shù)列表的改造 增加迭代器操作 增加通過T獲取value操作 HashTable.h的修改 unordered_set的封裝 unordered_map的封裝 K:關(guān)鍵碼類型 T:不同容器T的類型不同,如果是unorder

    2024年02月05日
    瀏覽(33)
  • 【unordered_map和unordered_set的封裝】

    這里的思路與前面講解map/set的封裝思路一致,STL不喜歡直接實(shí)例化出兩份幾乎相同的代碼,所以用了模板參數(shù)來處理,還是老規(guī)矩: set中傳入的是K,K,map中傳入的是K,PairK,V .這樣我們?cè)诠M暗慕Y(jié)構(gòu)中只需要用一個(gè)T類型的模板參數(shù)接受上層傳入的參數(shù)即可。 基本框架的改造:

    2024年02月08日
    瀏覽(22)
  • C++ unordered_map哈希表

    leetcode: 49. 字母異位詞分組 給你一個(gè)字符串?dāng)?shù)組,請(qǐng)你將 字母異位詞 組合在一起。可以按任意順序返回結(jié)果列表。 字母異位詞 是由重新排列源單詞的字母得到的一個(gè)新單詞,所有源單詞中的字母通常恰好只用一次。 示例 1: 輸入: strs = [“eat”, “tea”, “tan”, “ate”, “

    2023年04月25日
    瀏覽(18)
  • 【C++】: unordered_map的使用

    【C++】: unordered_map的使用

    key ???????????????鍵值的類型。unordered_map中的每個(gè)元素都是由其鍵值唯一標(biāo)識(shí)的。 T ????????????????映射值的類型。unordered_map中的每個(gè)元素都用來存儲(chǔ)一些數(shù)據(jù)作為其映射值。 Hash ????????????????一種一元函數(shù)對(duì)象類型,它接受一個(gè)key類型的對(duì)象作為

    2024年02月04日
    瀏覽(18)
  • 【C++】unordered_map,unordered_set模擬實(shí)現(xiàn)

    【C++】unordered_map,unordered_set模擬實(shí)現(xiàn)

    喜歡的點(diǎn)贊,收藏,關(guān)注一下把! 上一篇文章我們把unordered_map和unordered_set底層哈希桶的知識(shí)也都說清楚了,今天就根據(jù)哈希桶模擬實(shí)現(xiàn)出unordered_map和unordered_set。 這里如果看過以前文章【C++】map和set的模擬實(shí)現(xiàn),應(yīng)該會(huì)覺得簡單。 因?yàn)閡nordered_map和unordered_set底層都是哈希桶

    2024年01月21日
    瀏覽(26)
  • C++:關(guān)聯(lián)式容器:unordered_map

    C++:關(guān)聯(lián)式容器:unordered_map

    目錄 1.unordered_ map特性 2. 常用接口的使用 1.insert ???????? 2.find 3.erase ?4.operator[ ] ?3.迭代器的有效性 1. unordered_map是存儲(chǔ)key, value鍵值對(duì)的關(guān)聯(lián)式容器,其允許通過keys快速的索引到與 其對(duì)應(yīng)的value。 2. 在unordered_map中,鍵值通常用于惟一地標(biāo)識(shí)元素,而映射值是一個(gè)對(duì)象,

    2024年02月09日
    瀏覽(22)
  • 【C++關(guān)聯(lián)式容器】unordered_map

    【C++關(guān)聯(lián)式容器】unordered_map

    目錄 unordered_map 1. pair類型 2. 關(guān)聯(lián)式容器額外的類型別名 3. 哈希桶 4.?無序容器對(duì)類型的要求 5. Member functions 5.1 constructor、destructor、operator= 5.1.1 constructor 5.1.2 destructor 5.1.3 operator=? 5.2 Capacity ?5.2.1 empty 5.2.2 size 5.2.3 max_size 5.3 Iterators 5.4 Element access 5.4.1 operator[] 5.4.2 at 5

    2024年02月22日
    瀏覽(25)
  • unordered_map詳解和性能分析

    unordered_map詳解和性能分析

    std::unordered_map是C++標(biāo)準(zhǔn)庫中的一個(gè)關(guān)聯(lián)容器,它可以存儲(chǔ)一組鍵值對(duì),并且支持快速的查找、插入和刪除操作。 unordered_map 比較重要的構(gòu)造函數(shù)如下: 默認(rèn)構(gòu)造函數(shù) 創(chuàng)建一個(gè)空的unordered_map對(duì)象,鍵的類型為Key,值的類型為T。 初始桶數(shù)構(gòu)造函數(shù) 創(chuàng)建一個(gè)空的unordered_map對(duì)象,

    2024年02月13日
    瀏覽(21)
  • 【C++】unordered_set與unordered_map的封裝

    【C++】unordered_set與unordered_map的封裝

    ??個(gè)人主頁:平凡的小蘇 ??學(xué)習(xí)格言:命運(yùn)給你一個(gè)低的起點(diǎn),是想看你精彩的翻盤,而不是讓你自甘墮落,腳下的路雖然難走,但我還能走,比起向陽而生,我更想嘗試逆風(fēng)翻盤 。 ?? C++專欄 : C++內(nèi)功修煉基地 家人們更新不易,你們的??點(diǎn)贊??和?關(guān)注?真的對(duì)我真

    2024年02月08日
    瀏覽(23)
  • 改造哈希表,封裝unordered_map和unordered_set

    改造哈希表,封裝unordered_map和unordered_set

    正文開始前給大家推薦個(gè)網(wǎng)站,前些天發(fā)現(xiàn)了一個(gè)巨牛的 人工智能 學(xué)習(xí)網(wǎng)站, 通俗易懂,風(fēng)趣幽默 ,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 unordered_map是存的是pair是K,V型的,而unordered_set是K型的,里面只存一個(gè)值,那我們?nèi)绾卫靡粋€(gè)數(shù)據(jù)結(jié)構(gòu)將他們都封裝出來呢?

    2024年02月03日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包