Алгоритмы сортировок и их реализации


Главная
Меню сайта
Статистика

Наш опрос
Оцените мой сайт
Всего ответов: 267

Сортировка перемешиванием


Сортировка перемешиванием (шейкер-сортировка) — разновидность пузырьковой сортировки. Отличается тем, что просмотры элементов выполняются один за другим в противоположных направлениях, при этом большие элементы стремятся к концу массива, а маленькие — к началу.

Лучший случай для этой сортировки — отстортированный массив (О(n)), худший — отсортированный в обратном порядке (O(n²)).

Реализация на Pascal

s:= 1; {Первый элемент массива}
e:= 25; {Последний элемент массива}
while e > s do
begin
for i:= s to e-1 do if Arr[i]>Arr[i+1] then
begin
tmp := Arr[i];
Arr[i] := Arr[i+1];
Arr[i+1] := tmp;
c := c+1;
end;
for i:= e downto s+1 do if Arr[i] < Arr[i-1] then
begin
tmp := Arr[i];
Arr[i] := Arr[i-1];
Arr[i-1] := tmp;
c := c+1;
end;
s:= s+1;
e:= e-1;
end;



Литература

  • Википедия
  • Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн


Copyright MyCorp © 2024
Создать бесплатный сайт с uCoz