본문 바로가기
프로그래밍 언어

정렬의 원리? 기준?

by Jo_Wick 2025. 10. 4.
반응형

C++ string의 compare을 쓸 때

string a = "Apple", b = "Banana";
int result = a.compare(b);

if (result < 0) cout << "a < b\n";
else if (result > 0) cout << "a > b\n";
else cout << "a == b\n";

 

 

  • 첫 문자 'A'(65) vs 'B'(66) 비교
  • 계산: 65 - 66 = -1
  • → 음수 → "Apple"이 "Banana"보다 사전순 앞

반대로:

b.compare(a); // "Banana" vs "Apple"
66 - 65 = +1 → 양수 → "Banana"가 "Apple"보다 뒤

 

 

위와 같은 원리로 compare이 돌아가는데 이걸 정리하면

 

a < b 의 반환값에 따라

음수면 a가 더 앞에 와야하고

0이면 서로 같고

양수면 b가 더 앞에 와야한다.

 

우리가 직접 객체를 만들어 정렬의 기준을 만들때 이 원리를 알고 사용하면 헷갈리지 않고 만들 수 있다.

반응형

'프로그래밍 언어' 카테고리의 다른 글

클로저 (Closure)  (1) 2025.11.03
로케일(Locale)이란?  (0) 2025.10.01
타입 승격 (Type Promotion)  (0) 2025.09.21
버퍼링 (Buffering)  (0) 2025.09.19
스트림 (Stream)  (0) 2025.09.19

댓글