68973

Сортування масивів

Лекция

Информатика, кибернетика и программирование

Стан об’єкту цілком і повністю визначається станом елементів масиву. Для роботи з об’єктом можна використовувати інтерфейс що містить наступний набір операцій: розміщення масиву динамічної пам’яті ініціалізація масиву проглядання вивід значень елементів масиву сортування масиву різними способами...

Украинкский

2014-09-28

30.5 KB

3 чел.

Лекція № 18

Тема: Сортування масивів

План

Сортування масивів

Специфікація класів для сортування масивів

Сортування масивів

Перше питання, на яке слід отримати відповідь, це визначити, чи може і |чи повинна програма бути об'єктно-орієнтованою чи ні? В даному випадку відповідь "Так" очевидна. Чому? Об'єктом є масив, який доцільно розмістити в динамічній пам'яті. Стан об'єкту цілком і повністю визначається станом елементів масиву. Для роботи з об'єктом можна використовувати інтерфейс, що містить наступний набір операцій: розміщення масиву динамічної пам'яті, ініціалізація масиву, проглядання (вивід) значень елементів масиву, сортування масиву різними способами (прості і складні сортування вибором, обміном або вставками), звільнення зайнятої пам'яті. Отже, сортування масиву зручно реалізувати з використанням класу або ієрархії класів, до проектування яких ми і перейдемо зараз.

Специфікація класу для сортування масиву

При проектуванні специфікації класу необхідно вирішити наступні питання:

-  вибрати доцільну ієрархію класів;

- визначити, чи достатнім є використання звичайних класів або слід застосувати шаблони класів;

- спроектувати структуру кожного з класів ієрархії (визначити склад членів класу, їх функціональне призначення і доступність);

- спроектувати файлову структуру класу (чи розміщувати цілком визначення класів в заголовних файлах або оголошення класів поміщати в заголовні файли, а реалізацію методів класів — у файли з розширенням срр).

Ієрархія шаблонних або звичайних класів. Оскільки сортування масиву є хоча і важливим, але все таки приватним завданням, що є одним з етапів складнішого завдання, в якому потрібно використовувати відсортований масив, то представляється доцільним реалізувати сортування масиву в одному класі або в ієрархії класів. Цей клас (класи) можна використовувати як базового (базових) при вирішенні завдань, що використовують відсортовані масиви. Як указувалося раніше, при сортуванні масивів використовується   наступний набір операцій: розміщення масиву в динамічній пам'яті, ініціалізація масиву, проглядання (вивід) значень елементів масиву, сортування масиву різними способами (прості і складні сортування вибором, обміном або вставками), звільнення зайнятої пам'яті. Аналізуючи цей набір операцій, неважко відмітити, що частина операцій (розміщення масиву в динамічній пам'яті, ініціалізація масиву, перегляд або виведення значень елементів масиву, звільнення зайнятої пам'яті) є типовою і використовується не тільки при сортуванні масиву, але і при вирішенні практично будь-яких інших завдань обробки масивів. Із сказаного виходить, що як вершина ієрархії класів слід використовувати базовий клас, в якому реалізовані наступні типові операції:

розміщення масиву в динамічній пам'яті (конструктор);

ініціалізація масиву значеннями, що читаються, наприклад, з файлу на магнітному диску;

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

звільнення зайнятої масивом динамічної пам'яті (деструкція).

 

Одним з наступних за ієрархією класів, що пролягають нижче, може бути клас, похідний від базового класу, в якому реалізовані відомі методи сортування масивів.

Таким чином, отримуємо наступну ієрархію класів, яку можна використовувати для сортування масивів.

// Базовий клас: конструктор, деструкція, ініціалізація і виведення масиву

class SArTJB

{

};

// Похідний клас: різні методи сортування масивів

class SArTJD : public SArT_B

{

}

Цілком очевидно, що елементи сортованих масивів можуть бути різного типу. Тому для сортування масивів слід використовувати ієрархію шаблонних класів.

шаблон похідних класів повинні розміщуватися в різних заголовних файлах.


 

А также другие работы, которые могут Вас заинтересовать

40887. Узагальнена плоска хвиля 284.5 KB
  Таким чином хвиля розповсюджується в багатьох напрямках: хвиля в напрямку Задача: Нехай хвиля падає під кутом до поверхні середовища знайти характеристики відбитої хвилі та заломленої.
40888. Основи конституційного ладу України 279.5 KB
  Механізм та основні функції Української держави. Метою цієї лекції є формування у студентів знань щодо основ конституційного ладу України який включає поняття державного і суспільного ладу; засвоєння ними понять “гарантії конституційного ладу Україн膓механізм держав膓принципи суспільного ладу†тощо. Проблеми та перспективи побудови правової держави в Україні Право України.: Інт держави і права ім.
40889. Рівняння Максвела для Т, ТЕ, ТМ хвиль 388 KB
  Т хвиля розповсюджується зі швидкістю світла . хвиля розповсюджується в напрямку хвиля існує там де є розвязок рівняння Лапласа електрика. Тому якщо існує електростатичне поле то може існувати і Т хвиля.
40890. Прямокутний хвильовід 139.5 KB
  Для хвилі завдяки граничним умовам на стінках , а по певній координаті (там, де індекс = 0 ) це поле однорідне, тоді буде всюди, тобто цієї хвилі не буде.
40891. Хвильовий опір хвильовода 164 KB
  Рівняння для Т, ТЕ, ТМ хвиль різні. Щоб звести їх до одного виду, використовуючи потенціали , , де - електрична скалярна функція, - магнітна скалярна функція. Якщо для Т – хвилі завжди, то , а перетворюється в нуль завдяки .
40892. Коаксіальна лінія 412.5 KB
  Таким чином, можна перетворити межу циліндричної області в межу плоскої. Тому й область перетворюється в область . Розв’язок задачі в плоскому конденсаторі:має вигляд: . Поклавши (скориставшись тим, що потенціал визначається з точністю до константи), маємо: . Скориставшись зворотнім перетворенням, одержимо:
40893. Лінії передач для інтегральних схем 207 KB
  Складність розв’язання цієї задачі полягає в тому, що граничні умови тут – нерегулярні; не можна покласти, що на поверхні. Використовують наближені методи; зокрема конформних відображень.
40894. Реальний смушковий несиметричний хвильовід 149.5 KB
  У попередній задачі ми нехтували всіма розмірами – розглядали ідеальний випадок. Тепер розглянемо реальний: скористаємося тими самими моделями: нехай розповсюджується Т – хвиля, а ми розглядаємо одну половину (симетрія).
40895. ФОРМИ БЕЗПОСЕРЕДНЬОЇ ДЕМОКРАТІЇ В УКРАЇНІ 199.5 KB
  Поняття і види форм безпосереднього народовладдя в Україні Вибори в Україні Референдуми в Україні Поняття і види форм безпосереднього народовладдя в Україні Чинна Конституція України визнала вперше не лише належність влади народу тобто володіння політичною владою як його природне право мати владу але і його право здійснювати владу. 5 Конституції України зазначається що право визначати і змінювати конституційний лад в Україні належить виключно народові і воно не може бути узурповане...