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. 1
    Structura class Coada { int front, rear, capacitate; int* array; public: Coada(int cap) { front = rear = -1; capacitate = cap; array = new int[cap]; } };
  2. 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. 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.

Mai multe din Programare