![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Цей вид сортування недарма називається наївним. Його ідея нескладна — створюються всі можливі перестановки (Про те, що таке перестановка, розповідалося в розд. 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; Прочитано: 261 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!