나이순대로 정렬하면서 나이가 같을 때는 입력받은 순서를 유지해주는 문제이다. sort함수는 quicksort로 구현되어 있어서 나이순대로 정렬하면서 입력받은 데이터의 순서가 뒤바뀔 수 있는데 stable_sort는 mergesort로 구현되어 있어서 나이순대로 정렬해도 입력받은 데이터의 순서가 뒤바뀌지 않는다고 한다. 따라서 stable_sort로 입력받은 데이터들을 정렬하면 문제를 해결할 수 있다.
stable_sort의 사용 방법은 일반 sort 함수와 같이 stable_sort(arr.begin(),arr.end()) 배열,벡터등의 시작주소 값, 끝 주소 값을 전달해서 사용할 수 있고 위의 코드에서처럼 정렬기준에 따라 true ,false를 리턴하는 정렬함수를 만들어서 사용할 수 있다.