Re: [問題] 關於STL的set

看板C_and_CPP (C/C++)作者 (aaa)時間16年前 (2009/07/23 17:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
vector也可以直接用find吧 可能比set的find慢 O(n) vs O(log n) 但是空間上較省 #include <vector> #include <algorithm> std::vector<int> v; int object_to_insert = 1234; if (find(v.begin(), v.end(), object_to_insert) != v.end()) v.push_back(object_to_insert); ※ 引述《hwakeye (好可愛?)》之銘言: : ※ 引述《timTan (用口頭禪區分年記)》之銘言: : : set , vector 並用 : : 使用 set 來檢查重複性 : : 使用 vector 來儲存資料,維持你插入的順序 : 推 stockyo:請問如何用set只檢查重複性呢? 07/22 16:26 : 推 Ebergies:if( yourSet.find( blah...)!= ...) yourVector.push_... 07/22 16:47 : 也可以試試檢查set insert後的回傳值 : set在insert之後回傳的pair中 : first是安插後的element位址 : second則是insert動作是否成功 : 印象中如果有重複值的話 : second的部份應該是會回傳false : 所以程式就可以用下面的寫法 : std::set<int> c; : std::vector<int> d; : ... : if (c.insert(1).second) { : d.insert(1); : } : ... -- http://nigel.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.173.13.240
文章代碼(AID): #1AQ3666A (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
文章代碼(AID): #1AQ3666A (C_and_CPP)