Esborrar 0s i 1s d’una cua

Implementeu una funció ITERATIVA que donada una cua d’enters d’entrada,
produeix una cua d’enters de sortida idèntica a l’anterior, excepte que,
tot 0 que inicialment tenia un nombre parell d’elements abans que ell ha
estat esborrat, i tot 1 que inicialment tenia un nombre senar d’elements
abans que ell ha estat esborrat.

Aquesta és la capcelera de la funció:

    // Pre:
    // Post: La cua retornada té els mateixos elements que el valor rebut via el
    //       paràmetre q, excepte que tot 0 que inicialment tenia un nombre parell
    //       d'elements abans que ell ha estat esborrat, i tot 1 que inicialmente
    //       tenia un nombre senar d'elements abans que ell ha estat esborrat.
    queue<int> remove01(queue<int> q);

Aquí teniu un exemple de cua d’entrada i la corresponent cua retornada:

    0 1 4 5 1 0 6 7 0 0 1 1 8 1 0 9 0 0 1 1 0 1
    =>
    4 5 1 0 6 7 0 1 8 9 0 1

Observació

Només cal enviar el procediment demanat; el programa principal serà
ignorat.

Observació

La vostra funció i subfuncions que creeu han de treballar només amb
cues. Heu de trobar una solució ITERATIVA i eficient del problema.

Informació del problema

Autoria: PRO1

Generació: 2026-01-25T13:53:06.310Z

© Jutge.org, 2006–2026.
https://jutge.org
