Інформатика – Поглиблений рівень

Безкоштовно

Ніхто не записаний

Урок 43. Алгоритм сортування методом обміну

Пригадайте!

Завдання 1. Відсортуйте числа: 34, 45, 1, 23, 56, 17, 100 методом вибору.

Завдання 2 (Задача на повторення роботи з масивами). Знайти суму додатних елементів одновимірного масиву (таблиці) всі елементи якого є цілими числами.

Прочитайте!

Алгоритм сортування методом обміну

У шеренгу стали 5 учнів. Порівняйте зріст перших двох. Якщо перший вищий за другого, поміняйте їх місцями, за потреби — другого і третього і т. д. Як розмістяться учні?

Розглянемо сутність алгоритму сортування масиву в порядку зростання значень його елементів методом обміну.

З описаного випливає, що ознакою упорядкованості масиву є те, що після завершення його перегляду жодної перестановки елементів не було.

У прикладі 2 наведено порядок переміщення максимального числа на крайню праву позицію у масиві [4, 2, 5, 7, 6, 1]. Жирним шрифтом виділено елементи, які порівнюються.

Отже, після першого перегляду масиву елемент із максимальним значенням буде розташований на останній позиції. Розробимо алгоритм сортування методом обміну. В алгоритмі використано такі позначення: p — індекс правої межі поточної ділянки масиву; y — ознака наявності перестановки: на початку кожного зовнішнього циклу y набуває значення True.

Якщо після завершення зовнішнього циклу вона має значення True, це означає, що перестановок під час останнього перегляду не було; якщо y = False, то відбулася принаймні одна перестановка; i — індекс поточного елемента масиву; z — змінна, призначена для тимчасового зберігання значення елемента масиву під час перестановки елементів. Розглянемо алгоритм сортування масиву методом обміну, який може бути таким.

Програму реалізації алгоритму зображено на рисунку:

Результат виконання програми: 7, 16, 20, 31, 51, 63, 100.

Самостійне виконання вправ

Завдання 1. Визначте кількість операцій порівняння в алгоритмі сортування методом обміну в процесі впорядкування масиву 100, 20, 41, 30, 35.

Завдання 2. Дано масив чисел: 34, 12, 8, 5, 20, 17. Виконайте його сортування за допомогою методу обміну в порядку зменшення чисел.

 

0.00 на основі 0 рейтингів

5 зірок
0%
4 зірок
0%
3 зірок
0%
2 зірок
0%
1 зірок
0%