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

Изтрито е съдържание Добавено е съдържание
Novocob (беседа | приноси)
мРедакция без резюме
Novocob (беседа | приноси)
Редакция без резюме
Ред 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 />