
- •Міністерство освіти Та науки україни Запорізький національний технічний університет
- •Методичні вказівки
- •Загальні положення
- •1 Типи даних та арифметичні вирази
- •1.1 Теоретичні відомості
- •1.2 Порядок виконання роботи
- •1.3 Приклад
- •1.5 Завдання на лабораторну роботу
- •1.6 Контрольні запитання
- •2 Умовні оператори
- •2.1 Теоретичні відомості
- •2.2 Порядок виконання роботи
- •2.3 Приклад
- •2.5 Завдання на лабораторну роботу
- •2.6 Контрольні запитання
- •3 Оператори циклів
- •3.1 Теоретичні відомості
- •3.2 Порядок виконання роботи
- •3.3 Приклад
- •3.5 Завдання на лабораторну роботу
- •3.6 Контрольні запитання
- •4 Масиви
- •4.1 Теоретичні відомості
- •4.2 Порядок виконання роботи
- •4.3 Приклад
- •4.5 Завдання на лабораторну роботу
- •4.6 Контрольні запитання
- •5 Робота з динамічною пам’яттю
- •5.1 Теоретичні відомості
- •5.2 Порядок виконання роботи
- •5.3 Приклад
- •5.5 Завдання на лабораторну роботу
- •5.6 Контрольні запитання
- •6 Функції. Створення та використання
- •6.1 Теоретичні відомості
- •6.2 Порядок виконання роботи
- •6.3 Приклад
- •6.5 Завдання на лабораторну роботу
- •6.6 Контрольні запитання
- •7 Абстрактні типи даних
- •7.1 Теоретичні відомості
- •7.2 Порядок виконання роботи
- •7.3 Приклад
- •7.5 Завдання на лабораторну роботу
- •7.6 Контрольні запитання
- •8 Пошук та сортування
- •8.1 Теоретичні відомості
- •8.2 Порядок виконання роботи
- •8.3 Приклад
- •8.5 Завдання на лабораторну роботу
- •8.6 Контрольні запитання
- •9 Основи ооп
- •9.1 Теоретичні відомості
- •9.2 Порядок виконання роботи
- •9.3 Приклад
- •9.5 Завдання на лабораторну роботу
- •9.6 Контрольні запитання
- •10 Створення похідних класів
- •10.1 Теоретичні відомості
- •10.2 Порядок виконання роботи
- •10.3 Приклад
- •10.5 Завдання на лабораторну роботу
- •10.6 Контрольні запитання
- •11 Основи Об’єктно орієнтованого проектування
- •11.1 Теоретичні відомості
- •11.2 Порядок виконання роботи
- •11.4 Завдання на лабораторну роботу
- •11.5 Контрольні запитання
- •12 СТворення графічного інтерфейсу користувача
- •12.1 Порядок виконання роботи
- •12.3 Завдання на лабораторну роботу
- •12.4 Контрольні запитання
- •Література
- •69039 М. Запоріжжя, знту, друкарня, вул Жуковського, 64
8 Пошук та сортування
Мета роботи: ознайомитись з методами пошуку та сортування інформації в масивах та списках, отримати практичні навички реалізації алгоритмів пошуку та сортування на мові програмування С++.
8.1 Теоретичні відомості
Сортуванням називають процес упорядкування набору елементів в залежності від значення ключа. Ключ – одна із властивостей об’єкта, яка виражається у числовій формі, над якою задані числові порівняння.
Метод вставки. Всі елементи діляться на групи: упорядковану та неупорядкованому. На першому кроці всі елементи знаходяться у неупорядкованій групі. В наступних кроках береться елемент з неупорядкованій та вставляється у відповідне місце, причому частка елементів у впорядкованій групі може зсувати. Метод підходить для сортування списків, адже операція вставки для списків є простою.
Метод перестановок. Згідно цього методу елементи також діляться на дві частинки. На кожному кроці серед неупорядкованої частинки шукається максимальний або мінімальний елемент та вставляється в кінець упорядкованої множини. Потребує (n-1)! перевірок і (n-1) перестановок.
Метод пухирця. Кількість перевірок (n-1)!, перестановок ((n-1)/2)!
Суть методу полягає, що всі елементи порівнюються зі своїми сусідами.
Якщо вони стоять у невірному порядку, що міняються місцями. На кожній операції перший елемент порівняються з другим, другий з третім і т.д. Операції продовжуються доки, поки множина не буде упорядкованою.
Методи швидкого сортування полягають в тому тому, що уся множина неупорядкованих елементів розбивається на підмножини. Вирішення задачі для кожної окремої множини вигідніше, ніж розв’язання в цілому. Алгоритм методу полягає у тому, що серед елементів знаходиться перший не мінімальний елемент. Всі елементи, що менші заданого елемента, включаються в першу підгрупу; всі елементи, що більше або дорівнюють йому, в другу. Наведенні дії повторюються для кожної групи окремо. Якщо підгрупа складається з однакових елементів, вона вважається упорядкованою.
Методи „кишенькового” сортування застосовуються, коли можливі значення елементів є обмеженими якоюсь множиною (можливі значення елементів можна перерахувати). Тоді для кожного типу елементів можна створити свою „кишеню”. Під час сортування необхідно взяти черговий елемент і помістити в відповідну кишеню. В упорядковану множину вносяться елементи з першої „кишені”, потім з другої і т.д.
8.2 Порядок виконання роботи
При виконанні лабораторної роботи дотримуйтесь рекомендованого порядку.
Ознайомтесь з прикладом (листінг 8.1), наведеним у підрозділі 8.3.
Отримайте від викладача варіант завдання.
Розробіть схему алгоритму роботи програми.
Запишіть програму на мові програмування С++.
Створіть новий проект Visual Studio .NET” та введіть початковий код програми.
Проведіть її компіляцію з використанням середовища “Visual Studio .NET”.
Виправить синтаксичні та логічні помилки. Та повторіть компіляцію.
Запустить на виконання отриманий код.
Проведіть тестування для різних початкових даних.
Запишіть результати роботи програми та проконтролюйте їх коректність.