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

C++ STL庫(kù) map

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

C++ Maps

用于將兩個(gè)數(shù)據(jù)映射起來(lái),就是同過(guò)一個(gè)數(shù)據(jù),可以找到另一個(gè)數(shù)據(jù)。

所以它存儲(chǔ)的數(shù)據(jù)是成對(duì)的。也就是存儲(chǔ)的是一個(gè)對(duì)組。

C++ Maps 被用作儲(chǔ)存“關(guān)鍵字/值”對(duì)

#include <iostream>
#include <string.h>
#include <map>
using namespace std;
void show(map<string, string> &mp)
{

    for (auto it = mp.begin(); it != mp.end(); it++)
    {
        cout << it->first << ":" << it->second << endl;
    }
}
int main(int argc, char const *argv[])
{
    pair<string, string> p1("張三", "54656");

    map<string, string> mp;
    pair<string, string> p;

    mp["李四"] = "shgjagf";
    mp["王五"] = "jgfhjgdwagfh";
    mp["趙六"] = "jgfhjgdfh";
    mp["王八"] = "jgfhjgafa";
    show(mp);
    auto it = mp.find("王八");
    char data[] = {"sdasda "};

    cout << it->first << ":" << it->second << endl;
    return 0;
}

運(yùn)行結(jié)果:

李四:shgjagf
王五:jgfhjgdwagfh
王八:jgfhjgafa
趙六:jgfhjgdfh
王八:jgfhjgafa

begin

語(yǔ)法:

  iterator begin();

begin()函數(shù)返回一個(gè)迭代器指向map的第一個(gè)元素。


clear

語(yǔ)法:

  void clear();

clear()函數(shù)刪除map中的所有元素。


count

語(yǔ)法:

  size_type count( const KEY_TYPE &key );

count()函數(shù)返回map中鍵值等于key的元素的個(gè)數(shù)。


empty

語(yǔ)法:

  bool empty();

empty()函數(shù)返回真(true)如果map為空,否則返回假(false)。


end

語(yǔ)法:

  iterator end();

end()函數(shù)返回一個(gè)迭代器指向map的尾部。


equal_range

Syntax:

  pair equal_range( const KEY_TYPE &key );

equal_range()函數(shù)返回兩個(gè)迭代器——一個(gè)指向第一個(gè)鍵值為key的元素,另一個(gè)指向最后一個(gè)鍵值為key的元素。


erase

語(yǔ)法:

  void erase( iterator pos );
  void erase( iterator start, iterator end );
  size_type erase( const KEY_TYPE &key );

erase()函數(shù)刪除在pos位置的元素,或者刪除在start和end之間的元素,或者刪除那些值為key的所有元素。


find作者推薦這個(gè)接口很好用

語(yǔ)法:

  iterator find( const KEY_TYPE &key );

find()函數(shù)返回一個(gè)迭代器指向鍵值為key的元素,如果沒(méi)找到就返回指向map尾部的迭代器。


get_allocator

語(yǔ)法:

  allocator_type get_allocator();

get_allocator()函數(shù)返回map的配置器。


insert

語(yǔ)法:

  iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val );
  void insert( input_iterator start, input_iterator end );
  pair<iterator, bool> insert( const pair<KEY_TYPE,VALUE_TYPE> &val );

insert()函數(shù):

  • 插入val到pos的后面,然后返回一個(gè)指向這個(gè)元素的迭代器。
  • 插入start到end的元素到map中。
  • 只有在val不存在時(shí)插入val。返回值是一個(gè)指向被插入元素的迭代器和一個(gè)描述是否插入的bool值。

key_comp

語(yǔ)法:

  key_compare key_comp();

key_comp()函數(shù)返回一個(gè)比較key的函數(shù)。


lower_bound好用,要重載運(yùn)算符>=

語(yǔ)法:

  iterator lower_bound( const KEY_TYPE &key );

lower_bound()函數(shù)返回一個(gè)迭代器,指向map中鍵值>=key的第一個(gè)元素。


max_size

語(yǔ)法:

  size_type max_size();

max_size()函數(shù)返回map能夠保存的最大元素個(gè)數(shù)。


rbegin

語(yǔ)法:

  reverse_iterator rbegin();

rbegin()函數(shù)返回一個(gè)指向map尾部的逆向迭代器。


rend

語(yǔ)法:

  reverse_iterator rend();

rend()函數(shù)返回一個(gè)指向map頭部的逆向迭代器。


size

語(yǔ)法:

  size_type size();

size()函數(shù)返回map中保存的元素個(gè)數(shù)。


swap

語(yǔ)法:

  void swap( map &obj );

swap()交換obj和現(xiàn)map中的元素。


upper_bound不錯(cuò),但得重載。

語(yǔ)法:

  iterator upper_bound( const KEY_TYPE &key );

upper_bound()函數(shù)返回一個(gè)迭代器,指向map中鍵值>key的第一個(gè)元素。


value_comp

語(yǔ)法:

  value_compare value_comp();

value_comp()函數(shù)返回一個(gè)比較元素value的函數(shù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-708184.html

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

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • 【C++】STL之map、set類源碼剖析

    目錄 概述 算法 源碼 Iterator.h RBTree.h Map.h Set.h test.cpp map和set都是STL中的關(guān)聯(lián)式容器,而vector、list、deque是序列式容器。 map是映像,set是集合,map元素的數(shù)據(jù)類型是std::pairK,V格式(key/value形成映像),set元素的數(shù)據(jù)類型只有key值。 map和set的實(shí)現(xiàn)是對(duì)紅黑樹(shù)的封裝,map根據(jù)key值進(jìn)行

    2024年02月02日
    瀏覽(25)
  • 【C++ STL之map,set,pair詳解】

    在C++的STL(Standard Template Library)中,map是一個(gè)非常有用的關(guān)聯(lián)容器。它提供了一種鍵-值對(duì)的數(shù)據(jù)結(jié)構(gòu),其中的元素按照鍵的順序進(jìn)行排序,并且每個(gè)鍵是唯一的。本文將詳細(xì)介紹C++ STL中map的使用方法和一些常見(jiàn)操作。 (1)頭文件 (2)初始化方法 可以使用以下方式聲明和

    2024年02月12日
    瀏覽(38)
  • 【C++】STL——set/multiset 和 map/multimap的使用

    【C++】STL——set/multiset 和 map/multimap的使用

    在初階階段,我們已經(jīng)接觸過(guò)STL中的部分容器 比如:vector、list、deque、forward_list(C++11)等,這些容器統(tǒng)稱為 序列式容器 ,因?yàn)槠涞讓訛榫€性序列的數(shù)據(jù)結(jié)構(gòu),里面存儲(chǔ)的是元素本身。 而今天我們要學(xué)習(xí)的幾個(gè)容器稱為關(guān)聯(lián)式容器,那什么是關(guān)聯(lián)式容器?它與序列式容器有什

    2024年02月14日
    瀏覽(26)
  • C++之STL整理(3)之map 用法(創(chuàng)建、賦值、方法)整理

    注:整理一些突然學(xué)到的C++知識(shí),隨時(shí)mark一下 例如:忘記的用法,新,新數(shù)據(jù)結(jié)構(gòu) 提示:本文為 C++ 中 map構(gòu)造、賦值、接口 的寫(xiě)法和舉例 ??STL 中的map是一個(gè)關(guān)聯(lián)容器,它存儲(chǔ)的元素都是 鍵值對(duì) (key-value pair),并且 根據(jù)鍵(key)自動(dòng)排序的容器 。map不允

    2024年04月26日
    瀏覽(28)
  • C++高級(jí)編程——STL:list容器、set容器和map容器

    本專欄記錄C++學(xué)習(xí)過(guò)程包括C++基礎(chǔ)以及數(shù)據(jù)結(jié)構(gòu)和算法,其中第一部分計(jì)劃時(shí)間一個(gè)月,主要跟著黑馬視頻教程,學(xué)習(xí)路線如下, 不定時(shí)更新,歡迎關(guān)注 。 當(dāng)前章節(jié)處于: ---------第1階段-C++基礎(chǔ)入門 ---------第2階段實(shí)戰(zhàn)-通訊錄管理系統(tǒng), ---------第3階段-C++核心編程, -----

    2024年01月25日
    瀏覽(23)
  • 【C++】STL——用一顆紅黑樹(shù)封裝出map和set

    【C++】STL——用一顆紅黑樹(shù)封裝出map和set

    我們都知道set是K模型的容器,而map是KV模型的容器,但是它倆的底層都是用紅黑樹(shù)實(shí)現(xiàn)的,上篇博文中我們模擬實(shí)現(xiàn)了一顆紅黑樹(shù),接下來(lái)將對(duì)其進(jìn)行改造,繼而用一顆紅黑樹(shù)封裝出map和set。 本質(zhì)上map和set其內(nèi)部的主要功能都是套用了紅黑樹(shù)現(xiàn)成的接口,只是稍作改動(dòng)即可

    2023年04月15日
    瀏覽(18)
  • 【C++】 使用紅黑樹(shù)模擬實(shí)現(xiàn)STL中的map與set

    【C++】 使用紅黑樹(shù)模擬實(shí)現(xiàn)STL中的map與set

    前面的文章我們學(xué)習(xí)了紅黑樹(shù),也提到了C++STL中的map和set的底層其實(shí)就是用的紅黑樹(shù)來(lái)實(shí)現(xiàn)的(而map和set的使用我們前面也學(xué)過(guò)了)。 既然紅黑樹(shù)我們也學(xué)習(xí)過(guò)了,那這篇文章我們就用紅黑樹(shù)來(lái)簡(jiǎn)單實(shí)現(xiàn)一下STL中的map和set,重點(diǎn)是學(xué)習(xí)它的框架。 上一篇文章我們實(shí)現(xiàn)了紅黑

    2024年02月12日
    瀏覽(23)
  • C++:stl中set(multiset)和map(multimap)的介紹和使用

    C++:stl中set(multiset)和map(multimap)的介紹和使用

    本文主要從概念、常用接口和使用方法方面介紹set(multiset)和map(multimap)。 目錄 一、概念介紹 1.關(guān)聯(lián)式容器 2.鍵值對(duì) 3. 樹(shù)形結(jié)構(gòu)的關(guān)聯(lián)式容器 二、set和multiset 1.set的介紹 2.set使用 1. set模板參數(shù)列表 2. set構(gòu)造 3. set迭代器 4. set容量 5. set修改操作 6.set使用舉例 3.multiset介紹 4.mul

    2024年02月08日
    瀏覽(25)
  • 【C++練級(jí)之路】【Lv.17】【STL】set類和map類的模擬實(shí)現(xiàn)

    【C++練級(jí)之路】【Lv.17】【STL】set類和map類的模擬實(shí)現(xiàn)

    快樂(lè)的流暢:個(gè)人主頁(yè) 個(gè)人專欄:《C語(yǔ)言》《數(shù)據(jù)結(jié)構(gòu)世界》《進(jìn)擊的C++》 遠(yuǎn)方有一堆篝火,在為久候之人燃燒! STL庫(kù)中的set類和map類,其底層原理都是 通過(guò)紅黑樹(shù)來(lái)實(shí)現(xiàn) 的。盡管set和map可以各自實(shí)現(xiàn)一棵紅黑樹(shù),但是為了提高代碼的復(fù)用率,STL庫(kù)中將紅黑樹(shù)進(jìn)行了一定

    2024年04月16日
    瀏覽(30)
  • 【C++進(jìn)階04】STL中map、set、multimap、multiset的介紹及使用

    【C++進(jìn)階04】STL中map、set、multimap、multiset的介紹及使用

    vector/list/deque… 這些容器統(tǒng)稱為 序列式容器 因?yàn)槠涞讓訛榫€性序列的數(shù)據(jù)結(jié)構(gòu) 里面存儲(chǔ)的是元素本身 map/set… 這些容器統(tǒng)稱為 關(guān)聯(lián)式容器 關(guān)聯(lián)式容器也是用來(lái)存儲(chǔ)數(shù)據(jù)的 與序列式容器不同的是 其里面存儲(chǔ)的是key, value結(jié)構(gòu)的鍵值對(duì) 在數(shù)據(jù)檢索時(shí)比序列式容器效率更高 “鍵

    2024年02月03日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包