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