#30231: 求助map的使用方法


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [49.159.246.211]
最後登入時間 :
2024-10-19 20:13:44
a010. 因數分解 | From: [61.64.1.159] | 發表日期 : 2022-05-09 14:18

如題

例:

map<int ,int> mp //這樣要怎麼分別使用前面的int 跟後面的int 

可以用first跟second嗎 還是陣列如何儲存標題跟值

 
#30240: Re: 求助map的使用方法


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a010. 因數分解 | From: [110.28.192.189] | 發表日期 : 2022-05-09 20:33

如題

例:

map mp //這樣要怎麼分別使用前面的int 跟後面的int 

可以用first跟second嗎 還是陣列如何儲存標題跟值


可以啊,例如你要第一個的前面和後面,你可以用mp.begin()->first和mp.begin()->second,不過這題用不到map吧

 
#30267: Re: 求助map的使用方法


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [49.159.246.211]
最後登入時間 :
2024-10-19 20:13:44
a010. 因數分解 | From: [61.64.1.159] | 發表日期 : 2022-05-14 00:39

想嘗試一下map 上面有人推薦的

那想請問vector跟map的差別是什麼

 
#30268: Re: 求助map的使用方法


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a010. 因數分解 | From: [27.240.162.19] | 發表日期 : 2022-05-14 11:57

想嘗試一下map 上面有人推薦的

那想請問vector跟map的差別是什麼


我看了一下那個解題報告後測試了一下,確實是可以的,大概是因為測資不大,而且其他地方會花更多時間,所以也是能2ms AC的。

你現在不懂的地方應該是如何把map中每一個pair取出來吧?這個可以用range-based for loop或是iterator,例如這樣用:

for(auto &i: mp){    cout<<i.first<<'^'<<i.second;}

至於差別,map的特色是它會自動幫你排序,然後使用mp[a]時搜尋的時間複雜度是logN,在這題完全不會用到這個功能,因為是存取最後一個元素。如果是我的話我會用vector<pair<int,int>>,用兩個陣列也是可以。

 
#30274: Re: 求助map的使用方法


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [49.159.246.211]
最後登入時間 :
2024-10-19 20:13:44
a010. 因數分解 | From: [61.64.1.159] | 發表日期 : 2022-05-15 00:54

okaay~

 
ZeroJudge Forum