68973

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

Лекция

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

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

Украинкский

2014-09-28

30.5 KB

3 чел.

Лекція № 18

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

План

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

class SArTJB

{

};

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

class SArTJD : public SArT_B

{

}

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

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


 

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

84675. В гости к пернатым друзьям. Экологическая викторина 413 KB
  Оформление: заголовок мероприятия фотографии и рисунки птиц цитата: Покормите птиц зимой Пусть со всех концов К вам слетятся как домой Стайки на крыльцо. Покормите птиц. Оборудование: чёрный ящик диск Птицы средней полосы России.
84676. Образи повісті Ольги Кобилянської «Земля». Духовні орієнтири твору 99.5 KB
  Мета: навчальна: розкрити образи повісті, удосконалювати вміння на основі аналізу твору характеризувати героїв, усвідомити майстерність письменниці в розкритті різних психологічних типів людей, у порушенні «вічних проблем» і спробі їх вирішити.
84677. ГЕОМЕТРИЧЕСКИЕ ТЕЛА 72.11 KB
  Способствовать овладению основными способами мыслительной деятельности учащихся анализ сравнение умение делать выводы работать по алгоритму доказывать объяснять понятия. Способствовать развитию речи учащихся развивать пространственные представления учащихся; содействовать формированию у обучающихся...
84678. Воспитательное мероприятие «Угадай мелодию» 27.08 KB
  Введение: Игра «угадай мелодию» взята примером с экрана телевидения и пришла в учебно-воспитательные учреждения, стала популярной среди молодежи. Она немного изменена и не совсем повторяет телевизионный вариант. Цель: игра призвана содействовать развитию музыкального вкуса, слуха...
84679. Разработка по курсу: Окружающий мир 4.03 MB
  Дидактический материал для использования на уроках окружающего мира в 1 классе. Авторский медиапродукт: дидактический материал, разработанный с помощью программного обеспечения SMART Notebook 11 для интерактивной доски SMART Board.
84680. Знатоки естественных наук 161.65 KB
  Ведущий: Добрый день Мы начинаем мероприятие Знатоки естественных наук и к нам в гости пришли две команды желающие принять участие в игре. 2 Ведущий: Сегодня мы узнаем кто же из участников игры обладает солидным багажом знаний. 1 Ведущий: На протяжении всего конкурса вас будет оценивать компетентное жюри.
84681. ОСНОВНЫЕ ЭТАПЫ РАЗВИТИЯ ИНФОРМАЦИОННОГО ОБЩЕСТВА 60.78 KB
  Образовательная: познакомить с основными этапами развития информационного общества, углубить понятие информационная культура; познакомить с этапами развития технических средств и информационных ресурсов; ввести понятие информационного ресурса, познакомить с видами информационных ресурсов.
84682. Приём вычислений вида 36 –2 36 – 20 96 KB
  Дидактическая цель: Создать условия для активизации познавательной деятельности учащихся через использование цифровых образовательных ресурсов. Предметные задачи урока: показать с помощью знаково-символического моделирования новые приёмы вычислений.
84683. Информационно-разъяснительная работа посольства 14.25 KB
  Сюда входит как устная разъяснительная работа проводимая во время разного рода бесед выступлений перед общественностью так и распространение печатных изданий официальных бюллетеней посольства прессрелизов и т. Весьма эффективным средством в проведении этой работы служат организуемые посольством приемы с участием представителей широкой общественности демонстрация документальных и художественных фильмов прессконференции и прессбрифинги для представителей местной прессы и аккредитованных в стране корреспондентов информационных агентств...