在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    map的常用用法詳解

    map是一種映射,是常用的STL容器。(map可以將任何基本類型(包括STL容器)映射到任何基本類型(包括STL容器))

    如需使用,需要加一個(gè)map頭文件。

    1.map的定義:

    mapmp;

    使用map要確定映射前類型(鍵key)和映射后的類型(值value)。

    注意:如果是字符串到整形的映射,必須使用string而不是char數(shù)組。

    例子:

    (1)mapmp;

    2.map容器內(nèi)元素的訪問:

    (1)通過下標(biāo)訪問:

    比如:

    mapmp;

    mp[‘c’]=20;

    mp[‘c’]=30;

    printf(“%d”,m[‘c’])輸出的是30;

    (2)通過迭代器訪問:

    定義方式:

    map::iterator it;

    map迭代器的使用方式和其他STL容器的迭代器不同,因?yàn)閙ap的每一對(duì)映射都有兩個(gè)typename,這決定了必須能通過一個(gè)it來同時(shí)訪問鍵和值。事實(shí)上,map可以使用it->first來訪問鍵,使用it->second來訪問值。

    3.map常用函數(shù)實(shí)例解析:

    (1)find()

    find(key)返回鍵為key的映射的迭代器,時(shí)間復(fù)雜度為N(logN),N為map中映射的個(gè)數(shù)。

    (2)erase()

    erase有兩種用法:

    第一種:刪除單個(gè)元素,刪除一個(gè)區(qū)間內(nèi)的所有元素。

    刪除單個(gè)元素的方法==》mp.erase(it),it為刪除的元素的迭代器,時(shí)間復(fù)雜度為O(1)。

    mp.erase(key),key為欲刪除的鍵。時(shí)間復(fù)雜度為O(logN),N為map內(nèi)元素的個(gè)數(shù)。

    第二種:刪除一個(gè)區(qū)間內(nèi)的所有元素。

    mp.erase(firse,last)刪除[first,last).

    時(shí)間復(fù)雜度O(last-first)

    (3)size()

    size()用來獲得map中映射的對(duì)數(shù),時(shí)間復(fù)雜度為O(1)。

    (4)clear()

    clear()用來清空map中的所有元素,復(fù)雜度為O(N),其中N為map中的元素的個(gè)數(shù)。

    4.map的常見用途:

    1.需要建立字符(或字符串)與整數(shù)之間映射的題目,使用map可以減少代碼量。

    2.判斷大整數(shù)或者其他類型數(shù)據(jù)是否存在的題目,可以把map當(dāng)bool數(shù)組用。

    3.字符串和字符串的映射有時(shí)候也會(huì)遇到!

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月13日 15:17
    下一篇 2022年6月13日 15:17

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息