Виды алгоритмов сортировки Сортировка пузырьком / Bubble sort


Пример реализации на Kotlin



бет4/12
Дата16.10.2023
өлшемі121,16 Kb.
#115872
1   2   3   4   5   6   7   8   9   ...   12
Пример реализации на Kotlin:
fun combSort(input: Array) {
var gap = input.size
if (gap <= 1) return // если массив <= 1, то он считается отсортированным
var swaps = false
while (gap > 1 || swaps) {
gap = (gap / 1.247331).toInt()
if (gap < 1) gap = 1
var i = 0
swaps = false
while (i + gap < input.size) {
if (input[i] > input[i + gap]) {
val tmp = input[i]
input[i] = input[i + gap]
input[i + gap] = tmp
swaps = true
}
i++
}
}
}
Пример реализации на С++:



Сложность

Лучшее

Среднее

Худшее

Время

O(n log n)

Ω(n2/2p), где p - количество инкрементов

O(n2)

Память



O(1)

Сортировка вставками / Insertion sort
Сортировка вставками - алгоритм, при котором каждый последующий элемент массива сравнивается с предыдущими элементами (отсортированными) и вставляется в нужную позицию.
Общая идея алгоритма:

  • Сравниваем второй элемент с первым элементом массива и при необходимости меняем их местами. Условно эти элементы (первый и второй) будут являться отсортированным массивом, остальные элементы - неотсортированным.

  • Сравниваем следующий элемент из неотсортированного массива с элементами отсортированного и вставляем в нужную позицию.

  • Повторям шаг 2 до тех пор, пока в неотсортированном массиве не останется элементов.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   12




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет