Нові статті
Loading...
вівторок, 20 травня 2014 р.

Як створити динамічний масив

12:55
Пойменований набір однотипних елементів називають масивом. Подібна організація даних має масу очевидних переваг і один недолік — при створенні масиву необхідно заздалегідь оголошувати його розмір, який в подальшому неможливо змінити звичайними засобами. Вирішення цієї проблеми полягає в розробці динамічних масивів, здатних у будь-який момент змінювати кількість своїх елементів. Причому для цього можна скористатися як вже створеними класами, так і реалізувати власні за допомогою стандартних засобів мови програмування.

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

Створіть об’єкт класу-оболонки динамічного масиву, при цьому конструктор автоматично виділить пам’ять зазначеного розміру. Якщо в міру заповнення масиву пам’ять під елементи буде зайнята повністю, при додаванні чергових даних проводяться наступні дії:
— вся інформація з масиву зберігається у тимчасовому сховищі (допоміжний масив); 
- Раніше виділена пам’ять звільняється спеціальної командою (free, delete); 
- Виділяється пам’ять під масив того розміру, який потрібно для вміщення всіх даних; 
- В новий масив з тимчасового сховища поміщаються всі «старі» значення і додається новий елемент.
Найбільш оптимальним варіантом роботи з динамічними масивами є використання вже існуючих бібліотечних класів. Одним з найпоширеніших прикладів можна назвати клас vector. У нього включені всі необхідні для функціонування змінюваного масиву функції і ітератори. Причому бібліотечний модуль, що містить даний клас, поставляється з будь-якою версією компілятора мови С + +.

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

# Include vector; 
vector int Mass; / / оголошення динамічного масиву з елементами типу int 
Mas.push_back (10); / / додавання першого елемента - числа 10 
Mas.push_back (15); / / додавання другого елементу - числа 15 
Mas [1] = 30; / / в другій елемент записується число 30 
Mas.pop_back (); / / видалення останнього елемента масиву 
Тут при створенні динамічного масиву з ім’ям Mass обов’язково вказується тип його елементів (int), розмірність в даному випадку не задається.

Схожі статті :

0 коментарі:

Дописати коментар

 
Підвал сайту