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

(새 문서: 분류: 정렬 ==C++== 분류: C++ {{참고|C++ 기수정렬 구현}} <source lang='cpp'> </source> ==Java== 분류: Java {{참고|Java 기수정렬 구현}} <source lang...)
 
16번째 줄: 16번째 줄:
{{참고|Python기수정렬 구현}}
{{참고|Python기수정렬 구현}}
<source lang='Java'>
<source lang='Java'>
def count_sort(arr, exp):
size = len(arr)
output = [0]*size
count = [0]*10
for i in range(size):
index = int(arr[i]/exp)
count[index%10] += 1
for i in range(1,10):
count[i] += count[i-1]
for i in range(size-1,-1,-1):
index = int(arr[i]/exp)
output[count[index%10]-1] = arr[i]
count[index%10] -= 1
for i in range(size):
arr[i] = output[i]
def radix_sort(arr):
mx = max(arr)
exp = 1
while mx/exp > 0:
count_sort(arr, exp)
exp *= 10
arr = [3,4,2,1,7,5,8,9,0,6,100,10]
radix_sort( arr )
print( arr )
</source>
</source>



2018년 7월 16일 (월) 00:47 판

1 C++

2 Java

3 Python

def count_sort(arr, exp):
	size = len(arr)
	output = [0]*size
	count = [0]*10
	for i in range(size):
		index = int(arr[i]/exp)
		count[index%10] += 1
	for i in range(1,10):
		count[i] += count[i-1]
	for i in range(size-1,-1,-1):
		index = int(arr[i]/exp)
		output[count[index%10]-1] = arr[i]
		count[index%10] -= 1
	for i in range(size):
		arr[i] = output[i]
def radix_sort(arr):
	mx = max(arr)
	exp = 1
	while mx/exp > 0:
		count_sort(arr, exp)
		exp *= 10
arr = [3,4,2,1,7,5,8,9,0,6,100,10]
radix_sort( arr )
print( arr )

4 같이 보기

5 참고

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