Informatică Programare
Implementare coada in C++
Implementarea unei cozi în C++ se bazează pe principiul FIFO (First In, First Out), unde elementele sunt adăugate la un capăt și eliminate de la celălalt. Aceasta poate fi realizată cu un array circular sau o listă înlănțuită, cu operații enqueue (adăugare) și dequeue (eliminare).
Operații esențiale
- Enqueue Adaugă un element la sfârșitul cozii. Exemplu: dacă coada are [1,2], enqueue(3) dă [1,2,3].
- Dequeue Elimină elementul de la începutul cozii. Exemplu: dequeue() din [1,2,3] returnează 1 și lasă [2,3].
- Front Returnează elementul de la început fără a-l elimina. Exemplu: front() pe [1,2,3] dă 1.
Implementare cu array circular
- 1 Structura class Coada { int front, rear, capacitate; int* array; public: Coada(int cap) { front = rear = -1; capacitate = cap; array = new int[cap]; } };
- 2 Funcția enqueue void enqueue(int x) { if ((rear + 1) % capacitate != front) { rear = (rear + 1) % capacitate; array[rear] = x; if (front == -1) front = rear; } }
- 3 Funcția dequeue int dequeue() { if (front != -1) { int val = array[front]; if (front == rear) front = rear = -1; else front = (front + 1) % capacitate; return val; } return -1; }
Folosește indicii front și rear pentru a gestiona eficient spațiul într-un array circular.