如果我有一個vector<pair<int,int> >
數據類型,什麼是第二,如果首創相等,由一對的第一個元素進行排序,然後將接受的方式?比如,也許(1,10),(3,3),(7,13),(7,16),(8,1),(8,2),(15,2)等按C++中的第一個元素對中的第二個元素對一個對的向量排序?
回答
默認比較第一個元素,然後第二個。所以,如果你不關心維護時的第一要素比較相等的順序,那麼你可以只使用std::sort
:
std::sort(v.begin(), v.end());
這就是我已經使用,但它似乎沒有按預期工作 – MyNameIsKhan
以什麼方式?需要注意的是,如果第一個元素相同(而不是保留原始順序),它將按第二個元素排序。 – nneonneo
@AaststASicilian您可能正在尋找'std :: stable_sort'? – Rapptz
std::pair
s comparison operators字典順序比較對,它首先比較的第一要素,那麼第二個元素,如果第一個要素是平等的。
Here is an example of using std::vector<std::pair<int, int>>
and std::sort
。
使用std::sort
這種方式使用std::pair
的operator <
,正如上面所說的,對按字母順序比較。
使用std::stable_sort
,這樣保證了平等元素的相對順序將被保留。也就是說,即使std::pairs
的第一個元素相等,原始相對順序仍然保留。
任何方式在第一次相等時在第二秒增加訂單? – MyNameIsKhan
- 1. 按第一個元素排序向量,然後按C中第二個元素排序C
- 2. 按方案中對的第二個元素對排序列表
- 3. 按第一個元素對元素列表排序,但如果按第二個元素排序則等於
- 4. 如何按降序和第二個元素對對的向量進行排序?
- 5. 按行中的第一個元素對csv進行排序
- 6. STXXL:如何對第二個元素上的對的向量進行排序?
- 7. 按元素列表的第二個元素對列表進行排序
- 8. 如何從一對矢量中提取第二個元素?
- 9. 如何刪除第一個元素並使第二個元素成爲java.util.NavigableSet中的第一個元素?
- 10. 如何根據對中的第二個元素對對的向量進行排序?
- 11. 根據數組的第一個元素對double [,]進行排序
- 12. 在第一個元素上獲得給定重量限制對的第二個元素的最大總和
- 13. 第一個浮動元素與第二個浮動元素
- 14. 從列表中獲取第3個元素的第一個元素和第二個元素 - Haskell
- 15. 在列表C++中查找第一個和第二個元素
- 16. 第一個元素點擊顯示第一個模態,第二個元素點擊顯示第二個模態
- 17. SQL:按第一個關係對第二個表進行排序
- 18. 基於第一個數組元素對文件進行排序
- 19. 查找第二個向量中的向量元素
- 20. 如何擁有一個第二個元素是一個列表的對?
- 21. 檢索C++向量中的第一個元素
- 22. 排除在CSS中第一個元素
- 23. 對一個向量的兩個元素應用一個函數
- 24. Python:如何按最常見的第一個元素對列表進行排序?
- 25. 如何僅使用一行css將第二和第三個元素與第n個子元素對齊?
- 26. 的第一個子元素
- 27. 如果第二個元素相同,則將列表中的第一個元素合併爲一個元組?
- 28. 抓住的第一個元素中的對象(PHP)
- 29. 針對第一個子對象的所有元素
- 30. 按第三個元素排序Python列表,然後按第一個元素排序?
'的std :: sort'自定義比較 – Borgleader
呃,夥計,你要通過第二,如果首創等於排序,但你對我的回答您的評論,否則說。 – nneonneo
您最初對我的問題發表了評論:*「第二種維護秩序的任何方式?」*那麼究竟是什麼問題呢? –