русс | укр

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

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


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


Приклад 4


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


programex6_4; {швидке сортування - метод Хоара}

uses crt;

vari.n:integer; {кількість елементів масиву та іх індекси}

а:аrrау[1..10] of integer; {вихідний масив}

procedurequicksort(left.right:integer);

vari.j,k.x.tmp:integer; {розділовий елемент та допоміжні змінні}

Begin

i:=left; {ліва границя підмасиву }

j:=right; {права границя підмасиву }

x:=a[(left+right) div2]; {значення бар'єрного елемента}

writeln('left=',left,' right=',right,' x=',x);

repeat {розділити масив на підмасиви}

whilea[i]<x do i:=i+l; {визначити індекси елементів.}

whilea[j]>x do j:=j-l; {що обмінюються }

ifi<=j then

begin{обміняти елементи місцями }

tmp:=a[i];

a[i]i-a[j];

a[j]:=tmp;

i:=i+l;

j:=j-l;

{виведення проміжних результатів}

fork:=l to n do

write(a[k],' ');

writeln;

end;

untili>j;

ifleft<j then

quicksort(left,j); {впорядкувати лівий підмасив} if i<right then

quicksorts, right); {впорядкувати правий підмасив} end:

Begin

clrscr;

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

writeln(‘quick sort’);

writeln(‘enter number of the components (<=10)’);

readln(n);

fori;=l to n do {згенерувати масив }

a[i]:=random(30);

writeln('generated array');

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

write(a[i],' ');

writeln;

writeln(‘sort process’);

quicksort(l,n);

writeln('sorted array');

for i:=l to n do {вивести відсортований масив}

write(a[i].' ');

writeln;

readln;

End.


<== попередня лекція | наступна лекція ==>
Швидке сортування | Сортування методом злиття


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