68973

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

Лекция

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

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

Украинкский

2014-09-28

30.5 KB

3 чел.

Лекція № 18

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

План

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

class SArTJB

{

};

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

class SArTJD : public SArT_B

{

}

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

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


 

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

41092. Загальний опис Visual IFPS/Plus 581 KB
  Інтерактивна система планування фінансів Interctive Finncil Plnning System скорочено IFPS була оригінально розроблена на початку 70х років ХХ ст. Система IFPS набула надзвичайного поширення. З того часу система під назвою Visul IFPS Plus постійно вдосконалювалася.
41093. Система підтримки прийняття рішень PLEXSYS 40 KB
  Система підтримки прийняття рішень PLEXSYS Загальне описання ГСППР PLEXSYS Одним із найперспективніших напрямів розвитку СППР є створення групових систем підтримки прийняття рішень ГСППР. Дослідження галузі ГСППР дають змогу переглядати ролі й обовязки в групових діях повязаних із оцінюванням ситуації виявленням і генеруванням ідей діалектикою обговорення а також розвязанням інших завдань які приводять до прийняття групових рішень. ГСППР обєднують комунікації обчислення і технологію підтримки рішень з тим щоб допомогти деякій...
41094. Архітектура СППР та суміжні питання 50 KB
  Архітектура СППР та суміжні питання Архітектура СППР визначається характером взаємодії основних її складових інтерфейсу користувача; бази та сховища даних документів і правил; моделей і аналітичних інструментів; інфраструктури комунікацій і мереж а також елементів цих частин. Ефективне поєднання всіх елементів СППР дає змогу уникнути ряду труднощів щодо побудови СППР і підвищити продуктивність компютерної системи за рахунок: особливої інтеграції бази даних СППР з іншими внутрішніми і зовнішніми базами даних; скорочення тривалості...
41095. Компоненти користувацького інтерфейсу 655 KB
  Призначення та загальні ознакикористувацького інтерфейсу Важливість та ефективністькористувацького інтерфейсу СППР Компютерні системи підтримки прийняття рішень призначені для розвязування завдань користувачами а тому невіддільною складовою їх роботи має бути точне дотримання вимог щодо деяких параметрів здобутих від користувачів урахування їх побажань за проектування системи. При цьому якщо система функціонує коректно але подає результати у спосіб який є незручним для користувача то роботу такої системи не можна вважати задовільною...
41096. НЕОБХОДИМОСТЬ ДЕНЕГ, ИХ ВОЗНИКНОВЕНИЕ И СУЩНОСТЬ 656.5 KB
  Деньги возникают при определенных условиях осуществления производства и экономических отношений в обществе и способствуют дальнейшему их развитию.
41097. СИСТЕМА БЕЗНАЛИЧНЫХ РАСЧЕТОВ 627.73 KB
  Сущность принципы организации и значение безналичных расчетов. Аккредитивная форма расчетов ее сущность и сфера применения. Денежные средства на расчетных и других аналогичных счетах в банках отражаются посредством записи остатков оборотов по лицевым счетам вследствие безналичных расчетов.
41098. Коммерческие банки. Сущность и организационная основа деятельности коммерческих банков 103.42 KB
  Принципы деятельности коммерческого банка. Функции коммерческого банка Банки одно из центральных звеньев системы рыночных структур. Основное назначение банка посредничество в перемещении денежных средств от кредиторов к заемщикам и от продавцов к покупателям. Наряду с банками перемещение денежных средств на рынках осуществляют и другие финансовые и кредитнофинансовые учреждения: инвестиционные фонды страховые компании брокерские дилерские фирмы и т.
41099. Управление заемным капиталом 1.25 MB
  Обеспечение своевременных расчетов по полученным кредитам На второй стадии анализа определяются основные формы привлечения заемных средств анализируются в динамике удельный вес сформированных финансового кредита товарного кредита и текущих обязательств по расчетам в общей сумме заемных средств используемых предприятием. Эти формы дифференцируются в разрезе финансового кредита; товарного коммерческого кредита; прочих форм. К числу важнейших из этих условий относятся; а срок предоставления кредита; б ставка процента за кредит;...