기수 정렬 계산기
정수 나열을 넣으면 1의 자리부터 높은 자리까지 자릿수별로 안정 정렬을 반복하는 기수 정렬(LSD) 과정을 단계별로 보여줍니다.
쉼표나 공백으로 구분합니다. 100개까지.
정렬 결과
2, 24, 45, 66, 75, 90, 170, 802
자릿수별 진행 과정 (1의 자리부터)
1의 자리 기준 정렬 후
170, 90, 802, 2, 24, 45, 75, 66
10의 자리 기준 정렬 후
802, 2, 24, 45, 66, 170, 75, 90
100의 자리 기준 정렬 후
2, 24, 45, 66, 75, 90, 170, 802
사용 방법
- 1정렬할 정수(0 이상)를 쉼표나 공백으로 구분해 넣습니다.
- 2자릿수별로 안정 정렬이 반복되는 과정을 확인합니다.
- 3최종 정렬 결과를 확인합니다.
자주 묻는 질문
안정 정렬을 겹쳐 쓰기 때문입니다. 1의 자리로 먼저 정렬한 뒤 10의 자리로 다시 안정 정렬하면, 10의 자리가 같은 원소들끼리는 방금 만든 1의 자리 순서가 그대로 유지된 채 재배치됩니다. 이걸 최고 자리까지 반복하면 결국 전체가 정렬됩니다. 높은 자리부터 하려면(MSD) 자리마다 구간을 나눠 재귀해야 해서 훨씬 복잡합니다.
그 자리 숫자가 0~9뿐이라 카운팅 정렬과 똑같은 방식(등장 횟수를 센 뒤 누적합으로 자리를 정하고, 뒤에서부터 배치)을 씁니다.
안정 정렬이 아니면 낮은 자리에서 만든 순서가 다음 자리 정렬에서 흐트러질 수 있기 때문입니다. 예를 들어 1의 자리가 같은 두 수가 10의 자리 정렬에서 순서가 뒤바뀌면, 이후 자리에서 이 둘의 상대 순서를 되돌릴 방법이 없습니다.
이 계산기는 0 이상, 999,999 이하의 정수만 다룹니다. 음수는 부호를 별도로 처리해야 하고, 값이 아주 크면 자릿수가 늘어나 패스 횟수도 함께 늘어나 카운팅 정렬처럼 값의 범위가 클수록 불리해집니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 0 이상 999,999 이하의 정수만 다룹니다. 원소는 100개까지 입력할 수 있습니다.
- 무작위 배열 300개에서 자바스크립트의 기본 정렬(Array.prototype.sort)과 결과가 정확히 같은지 확인했습니다.
- k번째 패스가 끝나면 배열이 "마지막 k자리 값" 기준으로 정렬돼 있어야 한다는 성질을 무작위 100회로 별도 검증했습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.