4whomtbts   4년 전

stl  사용할 때, 원소를 정렬하는 경우가 많은데, 그럴 때  주로 less, greater 같이 편리하게 미리 만들어져있는 것을 인자로

넣어서 정렬할 수 도 있지만, 오버로딩해서 사용할 수 도 있잖아요?

예를 들면

bool desc(int a int b) {

   return a > b;

}

는 내림차순으로 정렬하는 코드인데, 어떻게 생각해야 내림차순이 되는건지 이해가 안되는데

이해할 수 있는 팁좀 부탁드립니다!..

irnd04   4년 전

선택정렬을 예로 들자면

크다 작다를 비교해서 두 원소를 교환하는 로직이 있잖아요

거기서 부등호만 바꿔주면 내림차순 오름차순이 되죠?

그것을 사용자가 정해준다고 생각하시면 돼요!

Green55   4년 전

연산자 <를 재정의 하신다고 생각하시면 됩니다. 즉, cmp(a,b) == true면 a가 b보다 왼쪽에 있도록 합니다.

댓글을 작성하려면 로그인해야 합니다.