Re: [問題] 關於STL的set
※ 引述《timTan (用口頭禪區分年記)》之銘言:
: ※ 引述《stockyo (就做吧)》之銘言:
: : 請問一下
: : 若我需要儲存的資料字串為 "book" "apple" "apple" "cat"
: : 但我想要過濾掉apple重覆一次,也就是儲存一次就好
: : 我發現set可以達到我的要求
: : 可是,我又想要順序不亂,也就是按照我的輸入
: : 變成 "book" "apple" "cat"
: : 但...set卻會自己排好序
: : 請問有什麼方法可以兩全其美嗎?
: set , vector 並用
: 使用 set 來檢查重複性
: 使用 vector 來儲存資料,維持你插入的順序
推
07/22 16:26,
07/22 16:26
推
07/22 16:47,
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);
}
...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.14.67
推
07/22 17:05, , 1F
07/22 17:05, 1F
→
07/22 17:09, , 2F
07/22 17:09, 2F
→
07/23 19:22, , 3F
07/23 19:22, 3F
→
07/23 19:23, , 4F
07/23 19:23, 4F
→
07/25 14:11, , 5F
07/25 14:11, 5F
→
07/25 14:12, , 6F
07/25 14:12, 6F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章