[問題] C++/STL/vector< pair<> >配合sort
看板C_and_CPP作者softwind (software everywhere)時間14年前 (2011/07/13 16:27)推噓3(3推 0噓 10→)留言13則, 6人參與討論串1/4 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows, VC 2008 免費版
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
<vector>, <utility>, <algorithm>, <functional>
問題(Question):
sort 可以針對 vector裡面的 element排序~
sort( v.begin(), v.end(), CMP);
我想請問 如果我vector裡面的element 是 pair建出來的 那我該如何比較?
(用first 比 和用 second 比)
ex:
vector< pair<int, int> > point2D; //假設 pair<>::firsst是x, second是y好了
那麼我要針對 x or y排序 我必須另外寫 compare function
bool cmp_x( pair<int,int> &A, pair<int,int> &B){
return A.first < B.first;
}
bool cmp_y( pair<int,int> &A, pair<int,int> &B){
return A.second < B.second;
}
請問這種情形下 我想用 functional裡面的東西 兜出同樣的效果 我該如何寫???
我最基本的問題是 pair 沒有辦法指定把 哪個member抓出來比...
sort( point2D.begin(), point2D.end(), less<?,?>(?) );
?都不會填
感謝~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.120.69
→
07/14 00:34, , 1F
07/14 00:34, 1F
→
07/14 00:47, , 2F
07/14 00:47, 2F
→
07/14 00:51, , 3F
07/14 00:51, 3F
→
07/14 01:36, , 4F
07/14 01:36, 4F
→
07/14 01:36, , 5F
07/14 01:36, 5F
推
07/14 01:39, , 6F
07/14 01:39, 6F
→
07/14 12:23, , 7F
07/14 12:23, 7F
→
07/14 12:24, , 8F
07/14 12:24, 8F
→
07/14 12:24, , 9F
07/14 12:24, 9F
→
07/14 13:44, , 10F
07/14 13:44, 10F
→
07/14 13:45, , 11F
07/14 13:45, 11F
推
07/14 15:42, , 12F
07/14 15:42, 12F
推
07/14 20:45, , 13F
07/14 20:45, 13F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 4 篇):