русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Приклад 2


Дата додавання: 2014-11-28; переглядів: 933.


Формалізуємо алгоритм сортування методом вибору і реалізуємо його мовою Pascal. Весь масив вважати невідсортованою частиною. Поки ця частина містить більше одного елемента, виконувати такі дії:

1.Вибрати перший елемент невідсортованої частини масиву і вважати його міні­мальним; запам'ятати індекс цього елемента.

2.Для елементів від наступного після вибраного і до останнього повторювати такі дії.

2.1.Порівняти вибраний елемент і поточний.

2.2.Якщо вибраний елемент більший за поточний, запам'ятати поточний елемент як мінімальний, а його індекс — як індекс мінімального елемента.

3.Поміняти місцями мінімальний і вибраний на кроці 1 елементи.

4.Пересунути початок невідсортованої частини на одну позицію вправо.

program ex6_2; {сортування методом вибору}

uses crt;

var n,i,j:integer; {кількість та індекси елементів}

а:аrrау[1..10] of integer;

min, іmin:integer; {мінімальний елемент і його індекс}

Begin

clrscr;

randomize; {ініціалізувати генератор випадкових чисел}

writeln(‘selection sort’);

writeln(‘enter number of the components (<=10)’);
readln(n); {ввести кількість елементів масиву}
for i:=l to n do {генерувати масив}

a[i]:=random(30);

writeln('generated array');

for i:=l to n do {вивести згенерований масив)

write(a[i],' ');

writeln;

writeln('series of selection');

for і;=1 to n-1 do

begin

min:=a[i]; {пошук мінімального елемента в діапазоні від і-го до останнього елемента}

imin:=i; {індекс мінімального елемента}

for j:=i+l to n do {пошук мінімального елемента}

if min>a[j] then

begin

min:=a[j];

imin:=j;

end;

a[imin]:=a[i]; {обмін місцями мінімального та поточного елементів} a[i]:=min;

for j:=l to n do {виведення проміжних результатів}

write(a[j],' ');

writeln;

end;

writeln('sorted array');

for i;=l to n do {виведення відсортованого масиву}

write(a[i],' ');

readln;

End.

 


<== попередня лекція | наступна лекція ==>
Приклад 1. | Сортування методом обміну


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн