"Ruby 기수정렬 구현"의 두 판 사이의 차이

(새 문서: ==개요== ;Ruby 기수정렬 구현 ;루비 기수정렬 구현 <source lang='ruby'> def radix_sort(a, base=10) size = a.size maxval = a.max() ex = 1 while ex <= max...)
 
 
27번째 줄: 27번째 줄:
# [0, 1, 1, 4, 9, 10, 22, 22, 100]
# [0, 1, 1, 4, 9, 10, 22, 22, 100]
</source>
</source>


==같이 보기==
==같이 보기==

2018년 8월 28일 (화) 02:41 기준 최신판

1 개요[ | ]

Ruby 기수정렬 구현
루비 기수정렬 구현
def radix_sort(a, base=10)
    size = a.size
    maxval = a.max()
    ex = 1
    while ex <= maxval
        output = Array.new(size,0)
        count = Array.new(base,0)
        for i in (0...size); count[(a[i]/ex)%base]+=1; end
        for i in (1...base); count[i]+=count[i-1]; end
        for i in (size-1).downto(0)
        	j = (a[i]/ex)%base
        	output[count[j]-1] = a[i]
        	count[j] -= 1
        end
        for i in (0...size); a[i]=output[i]; end
        ex *= base
    end
end
arr = [9,1,22,4,0,1,22,100,10]
radix_sort(arr)
print arr
# [0, 1, 1, 4, 9, 10, 22, 22, 100]

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}