Queue (agham pangkompyuter)

Ang queue ay isang abstract data type kung saan ginagamit ang kaisipan na "first-in, first-out". Maari itong maihahalintulad sa isang pila sa pagbili ng pagkain - ang nasa unahan ng pila ang unang makakakuha ng pagkain. Katulad ng stack, maari rin itong gamitin upang maayos ang pagkakasunod-sunod ng gawain na dapat gawin ng isang kompyuter.

Sa stack, importante na malaman ang "top" nito. Sa queue, dalawa ang tinitignan: ang "front" at and "rear". Sa "rear" naglalagay ng bagong elemeto, habang sa "front" naman nagaalis. Hindi maaring maalis ng elemento kapag walang laman ang queue, o kaya naman ay magdagdag kapag puno na ito. Ngunit, gaya ng sa stack, hindi talaga napupuno ang isang queue. Ito lamang ay dahil limitado ang memory ng isang kompyuter.

Kapag nagdadagdag ng elemento, gumagalaw ang "rear" ng isang hakbang pakanan. Kapag naman nagbabawas, gumagalaw ang "front" ng isang hakbang pakanan din. Dahil ito, posibleng mahabol ng front ang rear, na ang ibig sabihin ay wala nang laman ang queue. Maaring malimitahan ang space na magagamit dahil dito. Halimbawa, sa isang full queue, nasa dulong kanan ang "rear" habang nasa dulong kaliwa ang "front". Kapag inalis isa-isa ang laman ng queue hanggang sa maubos ito, maabutan ng "front" ang "rear", na ang ibig sabihin ay wala nang laman. Ngunit, dahil nasa dulong kanan ang "rear", hindi maaring magdagdag pa ng elemento. Dahil dito, dapat sigguraduhing wala or onti lamang ang free space na nasa bandang kaliwa, lalo na kapag nagaalis ng elemento.

Agham pangkompyuter