Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Pascal_mat №8_9.doc
Скачиваний:
3
Добавлен:
02.12.2018
Размер:
196.61 Кб
Скачать

Сортування підрахунком.

Принцип методу: У процесі виконання зберігається початковий масив та утворюється новий масив, який є упорядкованою копією першого. Перший елемент порівнюється зі всіма іншими, які розташовані праворуч від нього. Підраховується кількість елементів, які по значенню менші, ніж перший. Таким чином визначається місце цього елемента в новому масиві. Після першого проходу масиву, виконують другий, починаючи перегляд з другого елементу та повторюючи попередні дії. Необхідно виконати n переглядів таблиці. Програма працює неправильно, якщо в масиві є однакові за хначенням елементи, тому для використання цього методу необхідно виключити однакові елементи з масиву.

Приклад сортування:

program pidraxynok;

var n, i, j, k: integer;

A: array [1..255] of byte;

B: array [1..255] of byte;

begin

clrscr; randomize;

write ('Vvedit rozmirnist masuvy: ');

readln (n);

for i:=1 to n do a[i]:=random(100);

Заповнення масиву випадковими числами

writeln ('Pochatkovuj masuv:');

for i:=1 to n do write (a[i]:6);

виведення заповненого масиву на екран

for i:=1 to n do

перебір всіх елементів масиву

begin

k:=0;

for j:=1 to n do

пошук місця для кожного елемента в новому масиві

if a[j]<a[i] then k:=k+1;

b[k+1]:=a[i];

запис кожного елемента на знайдене місце в новий масив

end;

writeln; writeln;

writeln ('Vidsortirovanuj masuv:');

for i:=1 to n do write (b[i]:6);

виведення відсортованого масиву

readln

end.

10