문제

항목 이름을 정렬하려면 숫자를 올바르게 지원하고 싶습니다. 즉, 이것 :

1 Hamlet
2 Ophelia
...
10 Laertes

대신에

1 Hamlet
10 Laertes
2 Ophelia
...

누구든지 이미 그것을 지원하는 비교 함수를 아는 사람이 있습니까?
(즉, 전달 될 수있는 술어 std::sort)

기본적으로 지원할 두 가지 패턴이 있습니다 : 선행 숫자 (위와 같이)와 Explorer와 유사하게 숫자가 있습니다.

Dolly
Dolly (2)
Dolly (3)

(나는 그것을 해결할 수있을 것 같아요 : 캐릭터로 비교하고 숫자 값을 다르게 취급하십시오. 그러나 아마도 유니 코드 콜라이트를 깨뜨릴 것입니다.

도움이 되었습니까?

해결책

이를 영숫자 정렬이라고합니다.
이 링크를 확인하십시오. 알파늄 알고리즘

다른 팁

쌍 객체를 사용한 다음 벡터를 만들고이 벡터를 정렬 할 수 있다고 생각합니다. 쌍은 첫 번째 요소를 기준으로 비교됩니다. 따라서 이런 식으로 원하는 종류를 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top