68973

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

Лекция

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

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

Украинкский

2014-09-28

30.5 KB

3 чел.

Лекція № 18

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

План

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

class SArTJB

{

};

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

class SArTJD : public SArT_B

{

}

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

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


 

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

82762. Расходы бюджетной системы 592 KB
  В современных условиях бюджетные кредиты предоставляются в основном в форме связанных кредитов иностранных государств зарубежных банков фирм и международных финансовых организаций. Таким образом сумма налога на имущество физических лиц в следующем финансовом году составит...
82763. Биологический возраст человека 41.42 KB
  Определение биологического возраста. Понятие биологического возраста возникло в результате осознания неравномерности развития зрелости и старения. Биологический возраст может опережать либо отставать от хронологического возраста.
82764. Білінгвізм як психолінгвістичний феномен 43.01 KB
  Двомовність привертає увагу лінгвістів, психологів, педагогів відповідно до динаміки когнітивних підходів до опису мовних явищ та мовленнєвих процесів. У вивченні й оволодінні іноземною мовою надзвичайно велику роль відіграють різноманітні нейро- та психолінгвістичні аспекти.
82765. Типическое и индивидуальное в образах Онегина и Ленского 38.77 KB
  Цели: Формировать у учащихся представление об эпохе, в которой жил и создавал свои произведения А.С. Пушкин; Раскрыть причину недуга времени - равнодушия, разочарования во всем; Воспитывать чувство прекрасного и уважение к русской культуре.
82766. Давление и сила давления 67.5 KB
  Как вы считаете какие задачи нам нужно решить что нужно узнать о давлении чтобы разгадать всю тайну Учащиеся называют что нужно узнать о давлении что такое давление чем оно характеризуется от чего зависит как его рассчитать где применяется.
82767. Царство Грибов. Плесневые грибы 40.08 KB
  Дидактическая цель: Создать условия для осознания и осмысления блока новой учебной информации средствами критического мышления. Тип урока: комбинированный( изучения нового материала и первичное закрепление); Методы обучения: частично – поисковый, репродуктивный...
82768. С любовью на все времена. Ко Дню 8 Марта 41 KB
  Без солнца не цветут цветы без любви нет счастья без женщин нет любви без матери нет ни поэта ни героя. Горький Ведущий что может быть на свете священнее имени матери Человек еще не сделавший ни одного шага по земле и только только начинающий лопотать неуверенно и старательно складывает...
82769. «Literary quiz». Внеклассное мероприятие для учащихся 9-ых классов 28.43 KB
  Выбор темы внеклассного мероприятия по английскому языку обусловлен ее актуальностью и местом в системе уроков английского языка. Время проведения мероприятия: 40 минут Место проведения: кабинет английского языка. Содержание и методика мероприятия: учащиеся делятся на две команды соответствующие...
82770. Русский лес. Иван Соколов-Микитов. Е. Баратынский. Где сладкий шепот… 299.5 KB
  Цель: учить выразительно читать, оценивать качество чтения и содержание прочитанного, находить нужные части содержания; развивать речь, чувство прекрасного, эстетический вкус и художественное восприятие; воспитывать бережное отношение к природе.