Динамічні структури даних
Зміст
динамічна структура дане
1.Умови завдання
2.Дінаміческіе структури даних
.1 Проблеми з організацією даних
.2 Визначення та класифікація динамічних структур даних
.3 Лінійний однозв'язний список
.4 двохзв'язной лінійні списки
.5 Кільцевій список
.6 Черга
. Стеки
. Опис основних типів даних і функції для роботи з ними
. Лістинг програми
. Приклад роботи програми
Література
1.Умови завдання
Гаражна стоянка має одну стояночную смугу, причому в'їзд і виїзд перебувають в одному кінці смуги. Якщо власник автомашини приходить забрати свій автомобіль, який не є найближчим до виходу, то все автомашини, загороджують проїзд, видаляються, машина даного власника виводиться зі стоянки, а інші машини повертаються на стоянку у вихідному порядку. p align="justify"> Написати програму, яка моделює процес прибуття і від'їзду машин. Прибуття чи від'їзд автомашини задається командним рядком, яка містить ознаку прибуття або від'їзду та номер машини. Програма повинна виводити повідомлення під час поселення або виїзді будь-якої машини. При виїзді автомашини зі стоянки повідомлення повинно містити число раз, яке машина віддалялася зі стоянки для забезпечення виїзду інших автомобілів. p align="justify"> 2.Дінаміческіе структури даних
.1 Проблеми з організацією даних
При розробці програм у багатьох випадках досить використовувати прості змінні і масиви. Пам'ять під такі об'єкти виділяється або на етапі компіляції, або на етапі виконання програми. Наведемо фрагменти програм, що показують обидва ці способи на прикладі виділення пам'яті під одновимірний масив:
а) Пам'ять виділена на етапі компіляції:
const int N = 5; x1 [N];
б) Пам'ять виділена на етапі виконання програми за допомогою операції new:
int * x2; n; {
cout <<"n =";
cin>> n;
} while (n <= 0);
x2 = new int [n];
Тепер масиви x1 і x2 можна використовувати, наприклад, задати значення елементам цих масивів.
Але в обох випадках після того, як пам'ять під масиви виділена, ми не можемо змінювати розміри цих масивів на свій розсуд. Якщо бути більш точним, то це справедливо тільки для випадку а). Дл...