정렬 관련 문서 보다 보면 "이 정렬은 stable하다" "얜 unstable하다" 이런 표현이 계속 나오는데 솔직히 이게 왜 중요한 건지 감이 잘 안 와요. 정렬이면 그냥 크기순으로 잘 줄 세우면 되는 거 아닌가 싶은데요.


찾아보니까 값이 같은 원소들의 원래 순서가 유지되면 stable이라던데, 그래서요? 값이 같으면 순서가 바뀌든 말든 어차피 같은 값인데 무슨 상관인가 싶더라고요.


예를 들면 이런 데이터가 있다고 치면요.


[ (2, "A"), (1, "B"), (2, "C") ]
앞 숫자 기준으로 정렬


stable하면 결과가 (1,"B") (2,"A") (2,"C") 이렇게 A가 C 앞에 그대로 남는다는 거 맞나요? unstable이면 (2,"C")가 앞으로 갈 수도 있고요. 근데 이게 실제로 코딩할 때 왜 문제가 되는 건지 실감나는 예시가 있으면 좋겠어요.


막연하게 "정렬 두 번 할 때 중요하다" 같은 말은 봤는데, 이게 무슨 뜻인지 구체적으로 잘 모르겠더라고요. 그리고 제가 쓰는 언어 기본 정렬 함수가 stable인지 아닌지는 어떻게 알 수 있나요? 그냥 문서 봐야 되는 건가요?