Informatică Programare
Implementare coada C++ exemple
O coadă în C++ este o structură de date de tip FIFO (First-In-First-Out) care stochează elemente în ordinea adăugării. Poți implementa o coadă folosind containere STL precum std::queue sau construind-o manual cu liste înlănțuite. Exemplu simplu: std::queue<int> coada; coada.push(10); coada.push(20); int primul = coada.front(); // returnează 10.
Implementare cu std::queue
- Declarare și operații de bază Includeți <queue>. Declarați std::queue<Tip> nume;. push(val) adaugă un element la sfârșit, pop() elimină primul element, front() accesează primul element, back() accesează ultimul element, empty() verifică dacă coada este goală.
- Exemplu numeric std::queue<int> q; q.push(5); q.push(15); q.pop(); // elimină 5, front() returnează 15. Dimensiunea cozii se obține cu size().
- Implementare manuală cu liste Definiți o structură Nod cu date și pointer la următorul. Mențineți pointeri front și rear. push adaugă la rear, pop elimină de la front. Complexitate O(1) pentru ambele operații.
Exemple practice
- 1 Pasul 1: Simulare coadă de așteptare Creați o coadă pentru numere întregi reprezentând clienți. Adăugați valori 1, 2, 3 cu push. Afișați front() pentru a vedea primul client.
- 2 Pasul 2: Gestionare mesaje Folosiți std::queue<std::string> pentru mesaje. push("Salut"); push("Bună"); pop() elimină "Salut". Verificați empty() înainte de acces.
- 3 Pasul 3: Implementare cu array circular Pentru eficiență memorie, folosiți un array de dimensiune fixă și indici front și rear. Calculați rear = (rear + 1) % capacitate pentru adăugare.
Folosește std::queue pentru simplitate, iar pentru control detaliat implementează manual cu liste sau array-uri.