Чарга: розьніца паміж вэрсіямі

Змесціва выдалена Змесціва дададзена
Xqbot (гутаркі | унёсак)
д робат дадаў: hr:Red (struktura podataka); касмэтычныя зьмены
Радок 1:
'''Чарга''' - працэс, арганізаваны згодна прынцыпу [[FIFO]] (first in – first out): першы прыйшоў – першы выйшаў. Такая арганізацыя найбольш пашыраная пры абслугоўваньні кліентаў: той хто раней прыйшоў, атрымае паслугу раней.
У праграмаваньні '''чарга''' - [[структура дадзеных]], што мадэлюе такія працэсы. Сярод усіх элемэнтаў чаргі выдзяляюцца два: першы і апошні.
== Апэрацыі ==
Асноўныя апэрацыі ў чарзе:
* '''push''': дадаць элемэнт у хвост (пасьля апошняга) чаргі. Колькасьць элемэнтаў у чарзе павялічваецца на 1. Калі памер чаргі абмежаваны, гэтая апэрацыя можа выклікаць памылку ''overflow'' – перапаўненьне.
Радок 12:
* '''top''': атрымаць верхні элемэнт.
 
== Рэалізацыі чаргі ==
Рэалізацыя чаргі можа быць зроблена праз [[масіў]] ці [[сьпіс]].
=== Праз масіў ===
Для захаваньня элемэнтаў чаргі рэзэрвуецца масіў пэўнага памеру і дзьве зьменных, якія зьмешчаюць індэкс першага элемэнта і памер (даўжыню) чаргі.
{{wikicode}}
Радок 60:
a = q.pop(); ''// a == 3''
 
=== Празь сьпіс ===
У гэтым выпадку выкарыстоўваецца просты [[аднабаковы сьпіс]], які зьмяшчае элемэнты чаргі і дзьве зьменныя, што захоўваюць спасылкі на першы і апошні элемэнты сьпіса.
'''record''' list
Радок 110:
a = q.pop(); ''// a == 3''
 
== Прымяненьні чаргі ==
Чэргі ўжываецца ў [[альгарытм|альгарытмах]], што мадэлююць працэсы, арганізаваны згодна прынцыпу FIFO. Напрыклад, пры апрацоўцы клявіатуры: коды націснутых клявіш зьмяшчаюцца ў чаргу; працэсар кампутара мае чаргу каманд, пакуль выконваецца першая, у канец чаргі з памяці дадаюцца наступныя; праграмы, што пабудаваныя на апрацоўцы падзей (event driven, кіраваныя падзеямі) маюць чаргу, дзе захоўваюцца зьвесткі пра новыя падзеі пакуль выконваецца рэакцыя на першую падзею.
[[Мовы праграмаваньня|Мова праграмаваньня]] [[Oroogu]] выкарыстоўвае чаргу як адзіную структуру дадзеных.
Радок 132:
[[fr:File (structure de données)]]
[[he:תור (מבנה נתונים)]]
[[hr:Red (struktura podataka)]]
[[is:Biðröð (tölvunarfræði)]]
[[it:Coda (informatica)]]