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

(새 문서: ==개요== ;Python 카운팅정렬 구현 {{소스헤더|원본 미보존}} <source lang='python'> </source> {{소스헤더|원본 보존}} <source lang='python'> def count_sort(arr...)
 
11번째 줄: 11번째 줄:
size = len(arr)
size = len(arr)
mx = max(arr)
mx = max(arr)
output = [0 for i in range(size)]
output = [0]*size
count = [0 for i in range(mx+1)]
result = [0]*size
result = [0 for _ in arr]
count = [0]*(mx+1)
for i in range(size):
for i in range(size):
count[i] += 1
count[i] += 1
30번째 줄: 30번째 줄:
# [3, 4, 2, 1, 7, 5, 8, 9, 0, 6, 100, 10]
# [3, 4, 2, 1, 7, 5, 8, 9, 0, 6, 100, 10]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
</source>  
</source>


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

2018년 7월 15일 (일) 23:21 판

1 개요

Python 카운팅정렬 구현
원본 미보존
원본 보존
def count_sort(arr):
	size = len(arr)
	mx = max(arr)
	output = [0]*size
	result = [0]*size
	count = [0]*(mx+1)
	for i in range(size):
		count[i] += 1
	for i in range(mx):
		count[i] += count[i-1]
	for i in range(size):
		output[count[arr[i]]-1] = arr[i]
		count[arr[i]] -= 1
	for i in range(size):
		result[i] = output[i]
	return result 
arr = [3,4,2,1,7,5,8,9,0,6,100,10]
sorted = count_sort(arr)
print( arr )
print( sorted )
# [3, 4, 2, 1, 7, 5, 8, 9, 0, 6, 100, 10]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]

2 같이 보기

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