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

10번째 줄: 10번째 줄:
    a[i:i+c] = [x]*c
    a[i:i+c] = [x]*c
    i += c
    i += c
arr = [9,1,22,4,0,-1,1,22,100,10]
counting_sort(arr)
print( arr )
# [-1, 0, 1, 1, 4, 9, 10, 22, 22, 100]
</source>
<source lang='python'>
def counting_sort(a):
    minval = min(a)
    maxval = max(a)
    count = {}
    for i in range(minval,maxval+1): count[i]=0
    for x in a: count[x]+=1
    i = 0
    for x, c in count.items():
        if c==0: continue
        a[i:i+c] = [x]*c
        i += c
arr = [9,1,22,4,0,-1,1,22,100,10]
arr = [9,1,22,4,0,-1,1,22,100,10]
counting_sort(arr)
counting_sort(arr)

2018년 8월 27일 (월) 03:24 판

1 개요

Python 카운팅정렬 구현
def counting_sort(a):
	count = {}
	for x in a: count[x]=count.get(x,0)+1
	i = 0
	for x, c in sorted(count.items()):
	    a[i:i+c] = [x]*c
	    i += c
arr = [9,1,22,4,0,-1,1,22,100,10]
counting_sort(arr)
print( arr )
# [-1, 0, 1, 1, 4, 9, 10, 22, 22, 100]
def counting_sort(a):
    minval = min(a)
    maxval = max(a)
    count = {}
    for i in range(minval,maxval+1): count[i]=0
    for x in a: count[x]+=1
    i = 0
    for x, c in count.items():
        if c==0: continue
        a[i:i+c] = [x]*c
        i += c
arr = [9,1,22,4,0,-1,1,22,100,10]
counting_sort(arr)
print( arr )
# [-1, 0, 1, 1, 4, 9, 10, 22, 22, 100]

2 같이 보기

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