A veces se envían documentos repetidos a una cola de impresión. Normalmente estos envíos repetidos se hacen por error, y de forma consecutiva. En este problema implementaremos una función que elimine las repeticiones consecutivas de trabajos en una cola de impresión.
Consideraremos los trabajos a imprimir como simples string
s, y una cola de impresión será, por tanto, de tipo queue<string>
. Se trata de implementar la función
/** * @pre cierto * @post la cola de salida es como la de entrada, pero habiendo * eliminado las repeticiones sucesivas de elementos. */ queue<string> remove_repeats(queue<string>& entrada);
que recibe la cola entrada
, y produce una nueva cola con las repeticiones sucesivas eliminadas.
Observación Sólo tenéis que enviar el procedimiento requerido; el programa principal será ignorado.
remove_repeats(["a", "a", "b", "b", "c", "d", "d", "d"]) -> ["a", "b", "c", "d"]