
- •Лекція №8-9
- •Перерахований тип даних
- •Діапазонний тип
- •Особливості роботи з користувацькими простими типами
- •Регулярний тип даних (масиви)
- •Порядок роботи з масивом:
- •Одновимірні масиви Опис одновимірних масивів
- •Використання одновимірних масивів
- •Одновимірні масиви, що складаються з констант
- •Двовимірні масиви
- •Сортування одновимірних масивів
- •Сортування вставкою (включенням).
- •Сортування вибором (виділенням).
- •Сортування обміном (метод «бульбашки»).
- •Сортування підрахунком.
Сортування підрахунком.
Принцип методу: У процесі виконання зберігається початковий масив та утворюється новий масив, який є упорядкованою копією першого. Перший елемент порівнюється зі всіма іншими, які розташовані праворуч від нього. Підраховується кількість елементів, які по значенню менші, ніж перший. Таким чином визначається місце цього елемента в новому масиві. Після першого проходу масиву, виконують другий, починаючи перегляд з другого елементу та повторюючи попередні дії. Необхідно виконати 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. |
|