免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      map的常用用法詳解

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

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

      1.map的定義:

      mapmp;

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

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

      例子:

      (1)mapmp;

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

      (1)通過(guò)下標(biāo)訪(fǎng)問(wèn):

      比如:

      mapmp;

      mp[‘c’]=20;

      mp[‘c’]=30;

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

      (2)通過(guò)迭代器訪(fǎng)問(wèn):

      定義方式:

      map::iterator it;

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

      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()用來(lái)獲得map中映射的對(duì)數(shù),時(shí)間復(fù)雜度為O(1)。

      (4)clear()

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

      4.map的常見(jiàn)用途:

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

      2.判斷大整數(shù)或者其他類(lèi)型數(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)刪除。
      用戶(hù)投稿
      上一篇 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é)假日休息