Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Структури та алгоритми обробки даних

Реферат Структури та алгоритми обробки даних





і цього алгоритму покажемо на прикладі сортування довільного вектора А:

Вибирається "центральний" елемент масиву А - х. Масив ділиться на дві частини цим елементом. p align="justify"> Покажчик i встановлюємо в початок лівій частині. Міняємо цей покажчик до тих пір, поки елемент Аi менше центрального елемента х (Аi <х). p align="justify"> Покажчик j встановлюємо в кінець правої частини. Міняємо цей покажчик до тих пір, поки елемент Аj більше центрального елемента х (Аj <х). p align="justify"> Якщо лівий покажчик i менше правого покажчика j, то елементи Аi і Аj міняємо місцями. Процес продовжується до тих пір, поки довільно обраний спочатку "центральний" елемент масиву не забере свою позицію в масиві, тобто всі елементи стоять зліва від цього елемента будуть менше його, а всі елементи, які стоять праворуч - більше, а також всі елементи лівої частини будуть менше кожного правого елемента.

Якщо ліворуч від обраного "центру" більше одного елемента, то процедура повторюється для лівої частини масиву.

Якщо праворуч від обраного "центру" більше одного елемента, то процедура повторюється для правої частини масиву.

Лістинг програми

{сортування масиву цілих чисел алгоритмом швидке сортування}

Program Sort2; crt, dos;

const = 5000; {максимальний розмір вектора}

type = array [1 .. ARRAYSIZE] of integer; {тип вектора}: arrayType; {сортований вектор}

n: integer; {кількість елементів у векторі}

exp: integer;: byte;: integer;, j, k: integer;: integer;: text;: real; _time: array [1 .. 3] of real;

{процедура створення вектора theArray з розміром SIZE}

Procedure Vector (SIZE, MAX: integer; var theArray: arrayType);; i: = 1 to SIZE do [i]: = random (MAX);

{Writeln ('Вихідний масив:'); i: = 1 to Size do (theArray [i], '');}; QSort (SIZE: integer; var theArray: arrayType; var time : real);, min, sec, hund: word; _time, finish_time: real; sort (L, R: integer);, Tmp: Integer;: = L;: = R;: = theArray [(L + R) div 2]; i <= j dotheArray [i]

end;

{головна програма};

assign (f, 'd: Work Ann tp71 BIN Serik');

rewrite (f); ('Введіть необхідну кількість точок для побудови графіки:');

Readln (point);: = round (ARRAYSIZE/point);

Writeln ('Введіть кількість експериментів:'); (exp); (f, 'Середній час сортування елементів'); (f, 'кол-во', 'назад-', '...


Назад | сторінка 3 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Поняття і елементи масиву
  • Реферат на тему: Аналіз методів сортування одновимірного масиву
  • Реферат на тему: Просування бутіка розміру plus size на прикладі ТОВ &Атлант&, бутік &Elena ...
  • Реферат на тему: Розробка програми обробки масиву даних з побудовою діаграми (предметна обла ...
  • Реферат на тему: Методика визначення елемента циклону