Опашка (абстрактен тип данни): Разлика между версии
Изтрито е съдържание Добавено е съдържание
мРедакция без резюме |
Редакция без резюме |
||
Ред 1:
[[Файл:QUEUE-FIFO.jpg|рамка|вдясно|Схема на структурата опашка, добавяне и извличане на елементи.]]
'''Опашка''' в програмирането е вид [[абстрактна структура от данни]] и е представител на абстрактните типове данни ([[АТД]]). Опашките спадат към линейните (списъчни) структури от данни, заедно със [[Списък (структура данни)|списъците]] и [[стек (структура от данни)|стековете]]. Опашката представлява крайно, линейно множество от елементи, при което елементи се добавят само най-отзад и се извличат само най-отпред. Абстрактната структура опашка изпълнява условието "първият влязъл първи излиза" (FIFO: First-In-First-Out). Това означава, че след като е добавен един елемент в края на опашката, той ще може да бъде извлечен (премахнат) чак когато бъдат премахнати всички елементи преди него и то в реда, в който са добавени.
Структурата опашка и поведението на нейните елементи произхождат от ежедневната човешка дейност. Например опашка от хора, чакащи на каса за билети. Опашката има начало и край
== Статична реализация ==
Статичната опашка се реализира с помоща на [[масив]]. В даден момент началото и краят на опашката сочат към определени индекси от масива. Когато се добавя нов елемент той се поставя на индекса след края на опашката и краят вече сочи към новия елемент. Когато се премахва началото на опашката елементът на началния индекс се изтрива и началото започва да сочи към следващия индекс. По този начин с добавяне и извличане на елементи от опашката тя се движи към края на масива. В даден момент края на опашката достига до последния индекс на масива. За да се избегне излизане извън заделените граници на масива, при следващото
== Динамична реализация ==
== Примери за използване на опашка ==
== Източници ==
<ref>http://en.wikipedia.org/wiki/Queue_(abstract_data_type)</ref>
<ref>Наков, Светлин, Веселин Колев и колектив. [http://www.introprogramming.info/intro-csharp-book/ Въведение в програмирането със C#]. Велико Търново, Фабер, 2011. ISBN 978-954-400-527-6. с. 1116.</ref>
<references />
|