Влияние върху производителността



страница22/43
Дата21.12.2022
Размер1.47 Mb.
#116011
1   ...   18   19   20   21   22   23   24   25   ...   43
CAA.doc
Свързани:
saap conspect

Стек.Абстракция и реализация.Приложни аспекти: постфиксен запис и преобразувания от практиката.


Mожем да добавяме елементи най-отгоре и да извличаме последния добавен елемент, но не и предходните (които са затрупани под него). Стекът е често срещана и използвана структура от данни.
Абстрактна структура данни "стек"
Стекът представлява структура от данни с поведение "последният влязъл първи излиза".Eлементите могат да се добавят и премахват само от върха на стека.
Статичен стек (реализация с масив)
Както и при статичния списък можем да използваме масив за пазене на елементите на стека. Ще пазим индекс или указател, който сочи към елемента, който се намира на върха. Обикновено при запълване на масива следва заделяне на двойно повече памет, както това се случва при статичния списък.
Ето как можем да си представим един статичен стек:

Procedure chetene


(var stack:TypeStack;var vryh:integer); Begin

Четене: чете се елементът сочен от връх,след което върхът се намалява с 1.


End;


If vryh=0 then Writeln(“stekyt e prazen”)

Else begin X:=stack[vryh]; Vryh:=vryh-1; End;


Както и при статичния масив се поддържа свободна буферна памет с цел по-бързо добавяне.
Свързан стек (динамична реализация)
За динамичната реализация ще използваме елементи, които пазят, освен обекта, и указател към елемента, който се намира "по-долу". Тази реализация решава ограниченията, които има статичната реализация както и необходимостта от разширяване на масива при нужда:


Сподели с приятели:
1   ...   18   19   20   21   22   23   24   25   ...   43




©obuch.info 2024
отнасят до администрацията

    Начална страница