К завершению темы сортировок, можно ещё добавить сортировку кучей
func heapify(a []int, n int, i int) {
largest := i
left := 2i + 1
right := 2i + 2
if left < n && a[left] > a[largest] {
largest = left
}
if right < n && a[right] > a[largest] {
largest = right
}
if largest != i {
a[i], a[largest] = a[largest], a[i]
heapify(a, n, largest)
}
}
func heapSort(a []int) []int {
n := len(a)
for i := n/2 - 1; i >= 0; i-- {
heapify(a, n, i)
}
for i := n - 1; i >= 0; i-- {
a[0], a[i] = a[i], a[0]
heapify(a, i, 0)
}
return a
К завершению темы сортировок, можно ещё добавить сортировку кучей
func heapify(a []int, n int, i int) { largest := i left := 2i + 1 right := 2i + 2
}
func heapSort(a []int) []int { n := len(a)
}