You are on page 1of 6

STACK DHE

QUEUE

Luan Sadiku
Stack •Struktura e të dhënave ose strukturë me të dhëna, është
një mënyrë e veçantë për ruajtjen dhe organizimin e të
dhënave në një kompjuter në mënyrë që të mund të
përdoren në mënyrë efikase.
•Një mënyrë e veçantë për ruajtjen dhe organizimin e të
dhënave janë edhe stack-ët. Në stack, elementi i fshirë nga
bashkësia është ai i cili është futur i fundit: stack-u e
implementon mënyrën last-in, first-out (i fundit hyn, i pari
del), ose LIFO.
Implementimi i •Veprimi INSERT në stack zakonisht quhet PUSH,
dhe veprimi DELETE, që nuk merr element për
Stack-ëve në vektor argument, zakonisht quhet POP.
(array) •Stack-u e ka një atribut top që e shënon elementin e fundit
të futur. Stack-u përbëhet nga elementet S..topku S[1]
është elementi i parë në stack dhe S[top[S]] është elementi
në maje. Në C++, siç dihet, vargu fillon me indeksin 0 dhe
mbaron me indeksin n-1. Kurse këtu në figurat më poshtë
vargu fillon prej indeksit me vlerë 1.
Implementimi i •Lista e lidhur është strukturë e të dhënave në të
cilën objektet janë të shpërndara në renditje lineare.
stack-ëve në lista Përkundër vargut, ku renditja lineare është e përcaktuar
nga indekset e vargut, renditja në listën e lidhur është e
përcaktuar me nga një pointer në secilin objekt.
•Në implementimin në listat e lidhura të stack-ëve te
anëtari i parë (që ka hyrë në stack) nyje vijuese nuk ka,
kurse anëtari i fundit nyjën vijuese e ka të parafundit.
Ashtu siç shihet në figurë. Pra shkohet prej anëtari të
fundit deri te anëtari i parë. Edhe këtu atributi top përmban
gjithmonë anëtarin e fundit.
•Te listat e lidhura funksioni Push, gjithmonë e
krijon një nyje dhe adresa e kësaj nyje i jepet atributit
top.
• Kurse në Pop, atributit top i jepet adresa e nyjës
vijuese. Pastaj nyja fshihet.
Queue • Në queue, elementi i fshirë është gjithmonë ai i cili ka
qenë në bashkësi për më së shumti kohë: queue e
implementon mënyrën first-in, first-out (i pari hyn, i
pari del), ose FIFO

• Te queue-të, veprimin INSERT e quajmë ENQUEUE,


ndërsa veprimin DELETE e quajmë DEQUEUE; sikur
veprimi POP për stack, DEQUEUE nuk merr element
për argument. Vetia FIFO e queue-së shkakton që ajo
të veprojë si një rresht i njerëzve në zyrën e regjistrimit.
Queue-ja e ka kokën (head) dhe bishtin (tail).
Implementimi i • Implementimi i queue-së në C++ është krejtësisht i
ngjashëm me implementimin e stack-ut. Queue
queue-së në C++ organizohet si klasë me të dhëna private: vargun e
elementeve Q[MAXN] që i mban elementet e queue-
së, dhe numrat e plotë head dhe tail që i shënojnë
indeksat e kokës dhe bishtit të queue-së në varg. Në
pjesën publike, ndërkaq, janë: konstruktori që shërben
për inicializim korrekt të të dhënave private, funksionet
për testim të plotshmërisë dhe zbrastësisë, funksionet
për futje të elementit dhe për nxjerrje të elementit, si
dhe operatori i ekstraktimit operator<< për nxjerrje të
queue-së në njësinë dalëse. Të vërejmë se vargu Q
është varg i elem-ëve që në këtë rast janë përkufizuar si
int-ë.

You might also like