Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_OPI_2sem.doc
Скачиваний:
154
Добавлен:
23.02.2016
Размер:
3.72 Mб
Скачать

3.3.3. Статичні структури даних

Статичні структури представляють собою структуровану множину примітивних структур. Наприклад, вектор може бути представлений впорядкованою множиною чисел. Мінливість не властива статичним структурам, тобто розмір пам’яті комп’ютера, яка відводиться для цих даних, сталий і виділяється на етапі компіляції чи виконання програми.

Вектори

З логічної точки зору вектор (одновимірний масив) представляє собою структуру даних з фіксованим числом елементів одного і того ж типу. Кожен елемент вектора має свій унікальний номер (індекс). Звернення до елемента вектора виконується по імені вектора і номеру елемента.

З фізичної точки зору елементи вектора розміщуються в пам’яті у підряд розміщених комірках пам’яті. Під елемент вектора виділяється кількість байт пам’яті, яка визначається базовим типом елемента цього вектора. Тоді розмір пам’яті визначається співвідношенням: , де– кількість елементів (довжина) вектора, а– розмір пам’яті, яка необхідна для збереження одного елементу вектора.

Двовимірні масиви

Двовимірний масив (матриця) – це вектор, кожен елемент якого вектор. Тому те, що справедливо для вектора, справедливо і для матриці (аналогічно для -вимірних масивів).

Множини

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

Множиною в пам’яті (рис. 3.7) зберігається як масив бітів, в якому кожен біт вказує, чи належить елемент об’явленій множині чи ні. Таким чином, максимальне число елементів множини 256, а дані типу множина можуть займати не більше 32 байти.

Розмір пам’яті (в байтах), яка виділяється під множину обчислюється за формулою: , деі– верхня і нижня границі базового типу даної множини, а– цілочисельне ділення.

Записи

Запис – це комбінований тип, значення якого представляють собою нетривіальну структуру даних. Вони складаються з декількох полів різного типу, доступ до яких здійснюється по їх іменам. Записи представляють собою засіб для представлення програмних моделей реальних об’єктів предметної області, так як кожен такий об’єкт володіє декількома властивостями, які можуть описуватись даними різних типів.

Приклад запису – набір даних про співробітника кафедри.

Об’єкт «співробітник» може володіти наступними властивостями:

  • табельний номер – ціле додатне число;

  • прізвище, ім’я, по-батькові – рядок символів і т.д.;

  • стать – символ;

  • вчена ступінь – рядок символів;

  • заробітна плата – дійсне число;

  • ти ін.

В пам’яті ця структура може бути представлена в одному з двох видів:

  • у вигляді послідовності полів, які займають неперервну область пам’яті (рис. 3.8). Щоб отримати доступ до будь якого елемента запису, потрібно знати адресу початку запису і зміщення відносно початку. При цьому досягається економія пам’яті комп’ютера, але затрачується зайвий час на обчислення адрес полів;

  • у вигляді зв’язного списку з вказівниками на значення полів запису (рис. 3.9). При такій організації має місце швидкий доступ до елементів, але неекономна трата пам’яті для збереження.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]