Разлика между версии на „Опашка (абстрактен тип данни)“

Направо към навигацията Направо към търсенето
редакция без резюме
No edit summary
No edit summary
== Динамична реализация ==
[[Файл:QUEUE-DYNAMIC.jpg|рамка|вдясно]]
При динамичната реализация на опашката елементите не се намират в последователни адреси на паметта, както е при реализацията с масиви. При динамичните структури всеки елемент от опашката съдържа две части - обект и указател към предишнияследващия елемент (предишно добавен в опашката). По този начин се образува свързан списък. Известен е адресът на първия елемент в опашката, а адресите на всички останали елементи не са достъпни директно. Достъпът до тях се осъществява като се премине през указателите на всички предшестващи елементи. Последния елемент в опашката има указател, който не сочи към друг елемент, докато не се добави нов елемент накрая. Тогава указателят на елементътелемента, който досега е бил последен започва да сочи към новия елемент. Указателят на новия елемент не сочи наникъдекъм елемент, докато не бъде добавен нов елемент и т.н. В началото на опашката е елементът, който вече може да бъде извлечен. Към този елемент няма насочен указател.
Съществува и вариант, при който указателите на елементите сочат и към предишния, и към следващия елемент на опашката(когато съществуват такива). Тогава списъкът е двойно свързан (или двусвързан). Така опашката може при нужда да бъде обхождана и в двете посоки.
== Примери за използване на опашка ==
38

редакции

Навигация