Гномья сортировка
"...Во время перестановки гном смотрит на текущий и предыдущий садовые горшки: если они в правильном порядке, он шагает на один горшок вперёд, иначе он меняет их местами и шагает на один горшок назад. Граничные условия: если нет предыдущего горшка, он шагает вперёд; если нет следующего горшка, он закончил."
Конечно, приступать к делу обязательно с первого горшка.
На Delphi:
type TAI = array of integer; ... procedure GnomeSort(var A: TAI); var i: integer; begin i := Low(A); while i <= High(A) do begin if (i = Low(A)) or (A[i] >= A[i-1]) then begin inc(i); end else begin swap(A[i], A[i-1]); dec(i); end; end; end;
Максимальная | O(N2) |
Минимальная | O(N) |
Средняя | O(N2) |
Метки:
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии