Найпростіше сортування вставками відноситься до найбільш очевидних.

Блок-схема алгоритму: Фрагмент програми:

 
 


Program new;

Uses forms;

const n=20;

var a : array [1..n] of integer;

k : integer;

i, n, j : byte;

begin

{ введення елементів масиву А }

…………………………………..

for j : = 2 to n do

begin

i : = j-1;

k : = a[j] ;

while (i>0) and (k <= a[i]) do

begin

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

i : = i –1;

end;

a[i+1] : = k;

end;

{ друк упорядкованого масиву А}

…………………………………………

end.

 


Масив ai , (i = 1, n) розміщається на тім же місці, після сортування впорядковуються по зростанню. Порівнюємо поточний елемент aj з aj-1 , aj-2 ... доки не виявимо місце між ai і ai+1 , куди потрібно вставити елемент aj. Тоді елементи ai+1 ... aj-1 просунемо на одне місце вперед (вверх) і помістимо новий елемент aj на ai+1 місце. Зручно поєднувати операції порівняння і переміщення, тому що елемент aj як би «проникає» на відведений йому рівень. Такий спосіб часто називають просіванням або зануренням.

Обмінне сортування методом «бульбашки»

Порівнюються між собою кожні сусідні елементи масиву і, у разі потреби, міняються місцями, тобто «найлегший» елемент, якби, спливає на поверхню. Потім цей рівень не розглядається, а оглядається рівень з другого до останнього, і знов найлегший із елементів, які залишились, спливає, і т.д.

 

Блок-схема алгоритму:Текст програми:

 
 


Begin

введення масиву

SL : = N;

repeat

t : = 0;

for j : = 1 to SL-1 do

if a[j] > a[j+1] then

begin

_ buf : = a[j+1];

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

a[j] : = buf;

змінюємо місцями сусідні елементи

t : = j;

end;

номер впорядкованого рівня

SL : = t;

Until t = 0;

Вивід упорядкованого масиву