STL::vector의 오름/내림차순 정렬
글쓴이: purewell / 작성시간: 화, 2004/03/23 - 1:28오후
class MyData { private: int data; public: bool operator > (const MyData& cmp) const { return (this->data > cmp.data); } // <, >=, <=, ==, != 등등도 위와 같은 형태로 정의 }; ... int main (int argc, char* argv[]) { vector<MyData> vData; // push_backs!! sort( vData.begin(), vData.end() ); return 0; }
일반적으로 정렬을 저렇게 하는데,
operator 정의를 바꾸지 않고 오름차순(혹은 내림차순)을
내림차순(혹은 오름차순)으로 바꿀 수 없을까요?
흠... reverse iterator를 살포시 이용해도 좋을 것 같긴 하지만...
Forums:
[code:1]// sort descending, specifying
이런식으로 정렬에 사용되는 연산을 제공할 수 있습니다.
greater, less 등등이 C++ 표준 라이브러리에 이미 정의돼 있을겁니다.
Heejoon Lee
기본형이 요소가 아닌 경우에는 (내부 멤버의 비교) 어쩔 수 없이 비교
기본형이 요소가 아닌 경우에는 (내부 멤버의 비교) 어쩔 수 없이 비교 함수자를 만들어서 사용해야 하지 않을까요? 만들지 않고 기본 올림/내림차순의 방향을 바꾼다는 것은 좀 어렵지 않을까요?
댓글 달기