Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Динамічні структури даних

Реферат Динамічні структури даних





stify"> Все це не так складно реалізувати самостійно, тому ні яких програмних прикладів не наводиться.

3.Стекі


Визначення стека

Стек - динамічна структура даних, для якої виконується правило: останнім прийшов - першим пішов. Таким чином, і доповнення нових даних, і вилучення їх із стека завжди виконується з одного боку.


В 

Вершина стека - ця та його частина, через яку ведеться вся робота. На вершину стека додаються нові елементи, і з вершини стека знімаються (видаляються) елементи. p align="justify"> Загалом, стек - це однозв'язний список, для якого визначені тільки дві операції: додавання і видалення з початку списку.

Прикладом стека може служити коробка, в яку зверху укладають книги. Витягувати книги також доводиться зверху. p align="justify"> Операції зі стеком

Розглянемо основні та додаткові дії з стеком. Для роботи використовуємо структури Data і Stek:


struct Data

{

int a;

}; Stek

{

Data d;

Stek * next;

};


У програмі визначаємо покажчик на початок майбутнього стека:

* u = NULL;


Після цього можна почати працювати зі стеком.


1. Додавання в стек. Функцію додавання назвемо Push () - за аналогією з командою асемблера push, яка заносить ціле число в програмний стек.


void Push (Stek ** u, Data & x)

{

Stek * t = new Stek;// Пам'ять під новий елемент

t-> da = xa;// Заповнення полів

t-> next = * u;// Підключаємо новий елемент до наявних

* u = t;// Перенастройка вершини

}

Звернутися до функції можна так: (& u, x);

де x - об'єкт типу Data.


2. Витяг з стека. Тут знову аналогія з асемблером (команда pop виштовхує ціле число із стека).


bool Pop (Stek ** u, Data & x)

{

if (* u == NULL)

{

cout <<"Pustoj stek" <

return false;

}

Stek * t = * u;

xa = t-> da;// Отримуємо значення полів на вершині стека

* u = t-> next;// Перенастройка вершини

delete t;// Видалення непотрібного елементу

...


Назад | сторінка 4 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення та реалізація стека
  • Реферат на тему: Дослідження мережі передачі інформації на основі стека протоколів ZigBee. ...
  • Реферат на тему: Дослідження організації фінансів у малому бізнесі на прикладі ТОВ "Сте ...
  • Реферат на тему: Аналіз даних за допомогою технології Data Mining
  • Реферат на тему: Технології аналізу даних (Text Mining, Data Mining)