c 中關於map的知識,關於C 中 map 的意義以及用法

時間 2021-09-04 02:34:23

1樓:搞笑點

1.map的建構函式

mapmapstudent;

2. 資料的插入

在構造map容器後

第一種:用insert函式插入pair資料#pragma warning (disable:4786) )#include

#include

#include

using namespace std;

int main()

else

2樓:疾似雲流

是c++。

例子:#include "textquery.h"

namespace cqode}//

void textquery::buildmap()}}//std::settextquery::runquery(std::string &word)

std::settemp = m_wordmap[word];

return temp;}//

std::string textquery::getline(lineno nline)}

3樓:無謂之光

你baidu一下比在這裡等答案來的快。

關於c++中 map 的意義以及用法

4樓:匿名使用者

map,顧名思義就是地圖。其實就是key,value的對應。

當你需要快速的獲取對應key的value的時候,就可以使用map了。例如一個人是有名字,但是這個人還有其他的屬性,例如年齡,性別等等。這個人就會被封裝為一個物件。

如果有很多個人,我們需要快速的根據一個人的名字獲取對應名字的物件,這個時候map就有用了。如果採用陣列,我們需要遍歷整個陣列,才可以根據名字找到這個人。如果是map(以名字為key,以人的物件為value),就可以直接根據名字得到這個物件,就不需要遍歷操作了。

c++的map是採用紅黑樹實現的,因此獲取value的效率為lgn級別。

具體怎麼使用的,請上網看一個部落格的。特別簡單,就是幾個插入,刪除,讀取,賦值的操作。自己寫個demo,測試一下就會明白的。

c++map有什麼用

5樓:匿名使用者

map是stl容器,內部實現是紅黑樹,插入較慢,但是查詢很快iterator是指stl的迭代器,可以簡單的看做是元素指標map::iterator it = tempmap.begin();

表示指向tempmap第一個元素,你用 it->first 和 it->second,就能直接呼叫元素了

6樓:匿名使用者

mapmap_;

提供一個具有鍵值對(type1,type2)的容器,相關例項可以看看網上的例項demo。。。

c++在標頭檔案中使用map為什麼不行?

7樓:匿名使用者

map是c++的標準庫函式

所以必須要先宣告

using namespace std;

如**#include

#include

using namespace std;

void main()

8樓:匿名使用者

就是名稱空間的問題。

在使用map前要麼using namespace std; 要麼 std::map

9樓:匿名使用者

1、map是stl容器中的一種,屬於關聯性容器。以key value的形式儲存。key必須唯一。如果重複則插入失敗。插入後按照key預設排序。必須要先宣告名稱空間:

using namespace std;

2、例如:

#include

#include

using namespace std;

void main()

10樓:驀然

是不是應該寫成 include

希望你能採納

c++ 關於map的使用

11樓:匿名使用者

這個是引用,就是說refpriv是role.priv的一個引用,你也可以理解為是role.priv的一個別名

他們兩個代表同一塊記憶體

和map的概念沒有關係

c++裡map怎麼遍歷

12樓:匿名使用者

#include

#include

#include

using namespace std;

int main()

return 0;}

13樓:掌如曼

遍歷方法如下:

mapmymap;

auto it = mymap.begin();

for(;it != mymap.end();++it)cout << it->first.

c_str() << " " << it->second.c_str() << endl;

怎麼在 c++ 的 map 裡面 放 key-map鍵值對

14樓:匿名使用者

1、map,顧名思義就是地圖。其實就是key,value的對應的對映。

當需要快速的獲取對應key的value的時候,就可以使用map了。例如一個人是有名字,但是這個人還有其他的屬性,例如年齡,性別等等。這個人就會被封裝為一個物件。

如果有很多個人,我們需要快速的根據一個人的名字獲取對應名字的物件,這個時候map就有用了。如果採用陣列,我們需要遍歷整個陣列,才可以根據名字找到這個人。如果是map(以名字為key,以人的物件為value),就可以直接根據名字得到這個物件,就不需要遍歷操作了。

c++的map是採用紅黑樹實現的,因此獲取value的效率為lgn級別。

2、例子:

map> mymap;

mapchildmap1;

childmap1.insert("childmap1item1","item1");

childmap1["chilemap1item2"]="item2";//若沒找到key為chilemap1item2的元素就則新增一個

mapchildmap2;

childmap2.insert(map::value_type("childmap2item1","item1"));

mymap.insert("childmap1",childmap1);

mymap.insert("childmap2",childmap2);

//若想從mymap中找到childmap1的key為"chilemap1item2"的元素,可以這麼做

map>::iterator it = mymap.find("childmap1");

map::iterator childiterator = it->second.find("chilemap1item2");

string value=childiterator->second;//value即為所求值

15樓:匿名使用者

#include

#include

#include

#include

using namespace std;

typedef mapmy_map;

void main()

16樓:匿名使用者

方法有三種,

1.通過pair鍵值對插入。mapobj.insert(pair("a","1"));

2.通過value_type插入。mapobj.insert(map::value_type(1,"a"));

3.通過陣列的方式插入。

mapobj[1] = "a";

mapobj[2] = "b";

任何時候都不要忘記求助msdn,最後祝你好運。

17樓:義昀欣

給你一個例子,你參照一下。

cmapmymap;

// add 10 elements to the map.

for (int i=0;i < 10;i++)mymap.setat( i, cpoint(i, i) );

// remove the elements with even key values.

position pos = mymap.getstartposition();

int nkey;

cpoint pt;

while (pos != null)

關於c 中map的排序問題

嗯。頂樓上兩位的發言。我也說一下愚見 如果你只是想要簡單的排序,那麼多了。鍊表本身的 sort 通用庫的通用演算法 sort 還有優先佇列等。都是有排序功能的。如果你非得要用 map 鍵值對,那麼我就不明白了,為什麼是要拿 value 排序?如果真的是要先用 map 存資料,然後想 按照 value...

關於C中的timer控制元件,C 中,關於Timer控制元件的說法正確的是 選2項

會完成。但是需要注意 1.system.windows.forms.timer 是單執行緒的,它只在ui執行緒中執行,定時精度約55ms,當前的事件沒處理完成時,下一次事件不會觸發 過久地處理會導致介面假死。2.system.threading.timer 是多執行緒的,觸發的事件在threadpo...

關於C 的getline疑問,C 中getline 是什麼意思?

試試cin.getline s1,5,n c 中getline 是什麼意思?istream getline istream string 都是將輸入流的字元讀入到字串中,上面那個以你設定的終結符為結束標誌,下面那個以換行符 n 作為結束。如果讀到eof或者遇到錯誤也會結束。getline是c 中的乙...