Есть данная реализация пирамидальной сортировки. Все работает, но сортирует начиная со 2го элемента.
Помогите отследить ошибку. Заранее спасибо!
def HeapSort(): a = [45, 13, 24, 31, 11, 28, 49, 40, 19, 27] k = len(a) - 1 def ConSwap(i, j): if a[i] < a[j]: b = a[i] a[i] = a[j] a[j] = b def Conflict(i, k): j = 2 * i if j == k: ConSwap(i, j) elif j < k: if a[j + 1] > a[j]: j += 1 ConSwap(i, j) Conflict(j, k) def SortTree(i): if i <= k / 2.0: SortTree(2 * i) SortTree(2 * i + 1) Conflict(i, k) SortTree(1) while k > 1: i = 0 while i <= k: ConSwap(k, 1) Conflict(1, k - 1) i += 1 k -= 1 return a