Clanin3 Posted March 29, 2020 Share Posted March 29, 2020 Coada (sau queue) este o structură de date abstractă, în care operația de adăugare se realizează la un capăt, iar cea de eliminare la capătul celălalt. ! Coada ne permite, în timpul operațiilor, să lucrăm doar cu elementul aflat la începutul cozii. Utilizari Coada se foloseste atunci când dorim să prelucrăm date într-o ordine precisă, în funcție de identificarea acestora. Modalități de implementare a cozii: 1. Implementare statică, folosind tablouri Declaratie: const int dimensiune = 1000; //dimensiune coada int stanga, dreapta; //stanga > dreapta => coada vida; stanga <= dreapta => coada nevida TIP_DATE coada[dimensiune];//declararea cozii Avem nevoie de stanga si de dreapta pentru a putea mări, respectiv lucra cu primul element din coadă. Aceste variabile pot avea, desigur, alte denumiri. Inițializare coadă: stanga = 1; dreapta = 0; În acest moment avem o coadă vidă. Adăugarea unei valori în coadă: dreapta++; coada[dreapta] = val; După ce am mărit dimensiunea cozii, putem spune că avem un numar egal cu diferenta dintre dreapta și stânga de elemente. Valoarea trebuie să fie reprezentat de tipul de date care pot fi introduse în coadă (in funcție de declarație). Ștergerea primului element din coadă: stanga++; Primul element nu va mai putea fi accesat după ce variabila stanga va fi mărită. Prima valoare din coada: coada[stanga] Exemplu de folosire a cozii prin afișarea elementelor introduse în coadă. #include <iostream> using namespace std; int main() { const int dimensiune = 300; int stanga, dreapta, coada[300]; stanga = 1; dreapta = 0; int n = 4; //presupunem ca vrem sa introducem 4 valori; while (dreapta < n) { dreapta++; cin >> coada[dreapta]; }//au fost citite cele n elemente ale cozii. while (stanga <= dreapta) { cout << coada[stanga]<<" "; stanga++; }//se va afisa, in bucla, primul element al cozii apoi va fi considerat eliminat. return 0; } După executarea codului, de exemplu 7 3 5 0, in consola vor aparea pe rând elementele cozii - 7 3 5 0 conform exemplului. 2. Implementarea cozii folosind librăria Queue Includere librărie: #include <queue> Declaratie si verificare daca o coada este vidă: queue<TIP_DATE> coada;//unde "coada" este numele cozii. coada.empty(); // returneaza valorile 1 daca e vida sau 0 daca e nevida Adaugarea unei valori in coada: coada.push(VAL); //unde val este valoarea pe care doriti s-o adaugati. Eliminarea unui element de pe prima pozitie: coada.pop(); //elimina prima valoare din coada Prima valoare din coadă: coada.front() //returneaza prima valoare din coada. Exemplu de folosire a cozii prin afișarea elementelor introduse în coadă. #include <iostream> #include <queue> using namespace std; int main() { queue<int> coada; int n = 5;//consideram ca dorim sa prelucram 5 elemente din coada. for (int i = 0; i < n; i++) { int q; cin >> q; coada.push(q); }//adaugam valori in coada while (!coada.empty()) //cat timp coada.empty() == 0 { cout << coada.front() << " "; coada.pop(); }//afisarea si stergerea valorilor din coada. return 0; } După executarea codului, de exemplu 69, 24, 55, 33, 10, in consola vor aparea pe rând elementele cozii - 69, 24, 55, 33, 10 conform exemplului. 8 Link to comment Share on other sites More sharing options...
Clanin3 Posted April 1, 2020 Author Share Posted April 1, 2020 Topic inactiv. Link to comment Share on other sites More sharing options...
Recommended Posts