문제

내가 사용하는 방법을 알아 기수 정렬하는 종류의 정수입니다.

하지만 그것을 사용하는 방법을 문자열 정렬?또는 플로트 번호?

도움이 되었습니까?

해결책

기수종 또는 다른 분포를 정렬이 사용될 수 있을 정렬 부동 소수점 숫자를 무시하는 경우 몇 가지 특수성을 그들의 무한 같은,아래 값와 두 개의 서로 다른 표현이다. IEEE754-2008 부동 소수점 번호는 표현을 바이너리,호환성에 정렬 순서로 정수 번호입니다.그래서,당신은 제외용되지 않습 번호를 재해석 floatdoubleint32int64, 할 수 있습에 직접 적용되는 모든 종류 분포니다. 편집: 부정적인 부동 소수점 번호는 필요한 특별한 처리(지적했듯이 AShelly)기 때문에,그들의 정렬 순서입니다 반대로의 정렬 순서를 정수 번호입니다.

문자열에는 것이 더욱 어렵기 때문에 그들의 변수 길이 있습니다.다른 종류의 분포 sort(정렬 버킷)를 사용할 수 있고 자주 사용에 대한 문자열입니다.여러 시의 문자열에 사용되는 물통 인덱싱 모든 비교종 사용하여 정렬 문자열 내부에 버킷 등이 있습니다.

는 경우 모든 문자열은 거의 동일한 길이 및/또는 일부 기술 사용을 증폭 차이 문자열은(같은 장에서 설명의 6 "FAST:빠른 건물에 민감한 트리를 검색에 현대적인 응용 프로그램을 호스팅합니다.Gpu"음),기수 정도 사용될 수 있습니다:분할 문자열을 그룹의 문자(또는 더 나은,그룹 비트)동일한 길이의 재해석한 이러한 그룹으로 정수,으로 계속하면 그것은 기수 정렬을 위해 정수입니다.

편집: 모든 종류의 분포를 정렬은 보장을 제대로 작동만을 위해 ASCII 문자열입니다.다른 문자열로 인코딩 필요할 수 있는 다른 또는 정렬 순서에 따라 달라질 수 있습니다"collate"매개변수의 로케일에 있습니다.

다른 팁

예 가능합니다.

Radix 정렬, 플로트 데이터를 정렬 floats.정수 유형으로 캐스팅 할 수레가 올바르게 비교되면 (한 번 부정적으로 수정 된 경우) 자세한 내용은 자세한 내용

문자열의 경우 MSD RADIX 정렬을 수행하여 가변 길이 문제를 해결하고 NULLS가 발생할 때 내림차순을 중지하도록 보장 할 수 있습니다. radix 정렬 문자열 에 대해 구현 된 RADIX 정렬

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