fbpx

Ce este coada in C++ ? Cum functioneaza?

0

Ce este coada ?

Coada (sau „queue” in limba engleza) este o structura de date liniara ce lucreaza cu o colectie de date avand doua operatii principale:

  • push(int numar) – adauga un numar in coada
  • pop() – sterge ultimul element din lista (front() – returneaza valoarea acestui element – deseori functia pop() contine si functia front() integrata)

Modul in care aceasta prelucreaza elementele i-a dat denumirea de FIFO ( First In First Out = primul venit-primul servit)

Cum functioneaza coada?

Avand in vedere ca este o structura de date secventiala, operatiile push si pop se intampla numai la capetele structurii. Acest detaliu permite cozii sa fie implementata ca o lista simpla inlantuita. Nota: Coada este o structura de date cu un numar total de elemente flexibil.

Coada functioneaza pe principiul FIFO, imaginati-va o coada la intrarea intr-un club.

Coada - oameniPrimul client sosit este cel cu numarul unu, urmat de 2, 3, s.a.m.d. In ce ordine vor intra persoanele in club? In ordinea in care au venit. In momentul cand sosesc clienti noi, acestia se vor aseza in spatele numarului 5.

La ce este folosita coada?

  • Servirea cererilor dintr-un sistem cu o resursa disponibila tuturor. De exemplu imprimanta, daca mai multi oameni doresc sa printeze ceva, imprimanta va servii cererile in ordinea in care au venit.
  • In call center-uri. Daca suni la Fan Courier, esti plasat intr-o coada pana cand un operator poate sa vorbeasca cu tine.

Cum implementam coada?

Inainte de a implementa coada in C++ vom traduce denumirile functiilor in engleza (pentru a te familiariza cu libraria STL):

  • push(int numar) – adauga un element in coada (la final – uneori aceasta functie mai este denumita si push_back() )
  • pop() – sterge primul element din coada
  • front() – afiseaza primul element din coada
  • isEmpty() – verifica daca avem coada goala

Nota: Uneori functia pop() vine integrata cu functia front().

Varianta 1 – Utilizarea unui array (multimi)

Aceasta varianta incalca una din principiile fundamentale ale cozii. Este restrictionata de un numar maxim de elemente. Coada este o structura de date flexibila.

Varianta 2 – Utilizarea listelor simpu inlantuite

Probleme ce utilizeaza cozile

Pentru a va familiariza cu cozile, puteti sa rezolvati problemele:

Comentarii
Se incarca comentariile...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More