ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.01.2021

Просмотров: 392

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В листинге 7.8 приведен пример сортировки методом подсчета.

Листинг 7.8. Сортировка подсчетом

procedure SortMove(var a,b: TData);

var

i,j: integer;

cnt: array[1..N] of integer; // массив счетчиков

begin

for i:=1 to N do cnt[i]:=1; // инициализация массива счетчиков

for i:=1 to N do // сравнение элементов

for j:=i+1 to N do // и заполнение массива счетчиков

if a[i]>a[j] then

cnt[i]:=cnt[i]+1

else

cnt[j]:= cnt[j]+1;

for i:=1 to N do //пересылка элементов в новый массив

b[cnt[i]]:=a[i];

end;

Число сравнений в сортировке подсчетом C~N2, число пересылок (из исходного массива в новый) M=N. Сортировка устойчивая. Алгоритм дает правильный результат независимо от числа равных ключей.