1 개요[ | ]
- Ruby 힙정렬 구현
- 루비 힙정렬 구현
Ruby
Copy
def heap_sort(a)
def heapify(a, size, i)
largest = i
l = 2*i + 1
r = 2*i + 2
if l<size and a[i]<a[l]; largest=l; end
if r<size and a[largest]<a[r]; largest=r; end
if largest != i
a[i],a[largest] = a[largest],a[i]
heapify(a, size, largest)
end
end
for i in (a.size).downto(0); heapify(a, a.size, i); end
for i in (a.size-1).downto(1)
a[i],a[0] = a[0],a[i]
heapify(a, i, 0)
end
end
arr = [9,1,22,4,0,-1,1,22,100,10]
heap_sort(arr)
print arr
# [-1, 0, 1, 1, 4, 9, 10, 22, 22, 100]
2 같이 보기[ | ]
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.