#30231: 求助map的使用方法


alex950301 (alex0301)


如題

例:

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

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

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


cges30901 (cges30901)


如題

例:

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

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


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

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


alex950301 (alex0301)


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

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

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


cges30901 (cges30901)


想嘗試一下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)


okaay~