[問題] hash_map 取最後一筆的值

看板C_and_CPP作者 (飛天)時間9年前 (2015/05/06 15:40), 編輯推噓4(4012)
留言16則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) STL 問題(Question): C++ 中使用 map 有沒有什麼方法可以直接取到最後一筆的 fist 值。 如: for (g_iter=g_bk.begin();g_iter!=g_bk.end();++g_iter) { last_no = g_iter->first; } 有沒有方法不需要loop完,就可以抓出最後一筆的 fist 欄位直。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.19.162 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430898046.A.AAF.html

05/06 15:49, , 1F
有什麼要找最後一筆的理由嗎?
05/06 15:49, 1F

05/06 15:49, , 2F
hashmap本身沒順序的概念,第一筆和最後一筆有何不同?
05/06 15:49, 2F

05/06 16:54, , 3F
unordered_map才是hash 你是要問哪個
05/06 16:54, 3F

05/06 17:24, , 4F
我使用的是typedef std::hash_map<int,string> hm;
05/06 17:24, 4F

05/06 17:51, , 5F
unordered_map基本上跟hash_map差不多
05/06 17:51, 5F

05/06 17:52, , 6F
只是加入標準時怕跟現存hash_map撞名才換怪名字
05/06 17:52, 6F

05/06 17:52, , 7F
問題還是"最後一筆"對你而言到底有什麼特別的?
05/06 17:52, 7F

05/06 17:55, , 8F
你在一個沒有order的容器中找last的意義是?
05/06 17:55, 8F

05/06 17:55, , 9F
而且hash_map是compiler extension
05/06 17:55, 9F

05/06 18:55, , 10F
要找最後一筆的畫你幹嘛用hashmap?
05/06 18:55, 10F

05/07 09:12, , 11F
謝謝,我改成使用map, 那請問有辦法不loop抓到
05/07 09:12, 11F

05/07 09:12, , 12F
最後一筆的 first 欄位值嗎(不需全部loop)
05/07 09:12, 12F

05/07 10:31, , 13F
_.end() - 1 或 _.rbegin()
05/07 10:31, 13F

05/07 10:32, , 14F
不對, 應該要 --_.end()
05/07 10:32, 14F

05/07 11:18, , 15F
std::map::rbegin()
05/07 11:18, 15F

05/07 11:31, , 16F
我還是覺得你根本不知道你在做什麼
05/07 11:31, 16F
文章代碼(AID): #1LISL-gl (C_and_CPP)