Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Наївне» сортування



Цей вид сортування недарма називається наївним. Його ідея нескладна — створюються всі можливі перестановки (Про те, що таке перестановка, розповідалося в розд. 3.1. У прикладі 3.1 розглядалися перестановки трьох чисел. Їх всього 6. А число перестановок шести чисел уже дорівнює 720.) елементів масиву. І для кожної з них робиться перевірка — чи виконується для неї умова неубування/зростання. Очевидно, що працює такий алгоритм дуже повільно.

Наступний код містить програму для додатка, яка демонструє роботу алгоритму наївного сортування.

Код 3.19

На початку роботи додатка, після натискання командної кнопки на екранній формі, одномірний Macuв (1 To 6) заповнюється шістьма числами, а потім викликається процедура Перестановка.

Аргументи процедури Перестановка — це сам масив, верхня границя індексу цього масиву і номер елемента масиву, починаючи з якого елементи масиву міняються місцями в процесі формування нової перестановки. Рекурсивні виклики цієї процедури створюють усі перестановки елементів масиву. Кожна нова перестановка поміщається у Вікно списку у вигляді ланцюжка наступного виду:
«7 5 7 2 3 7».

Крім того, при кожному рекурсивному виклику перевіряється умова впорядкованості отриманої перестановки — запускається процедура Порядок. Її аргументи — це масив і його розмір, а значення, що повертається функцією, — це або True (Істина), або False (Неправда).

Якщо функція Порядок повертає Істину, перестановка разом зі своїм номером поміщається в текстове поле, призначене для результату.

На мал. 3.4 приведений вид екранної форми додатка, за допомогою якого демонструється алгоритм «наївного» сортування.

Мал. 3.4. Екранна форма з демонстрацією результату роботи «наївної» сортування масиву 7, 5, 5, 2, 3, 7

Для визначення числа перестановок (факторіала числа N) використовується властивість ListCount об'єкта Вікно списку. Значення цієї властивості — кількість елементів списку (Нагадаємо, що в математиці факторіал числа N позначається так: N!.).

Нові поняття:





Дата публикования: 2014-12-28; Прочитано: 245 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...