示例#1
0
def heapsort(arr):
    """ Implements heapsort
    
        O(n*log(n))
    """
    heap = Heap(arr)
    for i in range(heap.size - 1, 0, -1):
        heap.heap[0], heap.heap[heap.size - 1] = heap.heap[heap.size -
                                                           1], heap.heap[0]
        heap.size -= 1
        heap.max_heapify(0)
    return heap.heap  # Ordered array