Afegeix un mètode públic a la classe
Queue<T> que, donats dos valors x i
val de tipus T, inserta val just
abans de la primera aparició de x. Si
x no apareix a la cua no cal fer res.
La capçalera és la següent:
/**
* @brief Inserta `val` abans de `x` a la cua.
*
* @param x Valor a cercar
* @param val Valor a insertar
*/
void insert_before(const T& x, const T& val);
Per poder avaluar l’ús de punters, no feu servir altres mètodes, ni públics ni privats, de la classe per resoldre el problema.
Els fitxers públics (icona del gatet) contenen:
queue.hh |
la classe Queue<T> |
main.cc |
el programa principal (gestiona l’entrada i sortida) |
Makefile |
per compilar amb make al
terminal |
.vscode |
per compilar i debuggar amb F5 |
Per entregar només cal enviar el fitxer queue.hh
modificat.
De l’entrada se n’encarrega ja el programa principal.
L’entrada està formada per diferents cassos seguits, a on cada cas té
una cua, el valor a buscar (x) i el valor a insertar
(val).
De la sortida també se n’encarrega el programa principal. La sortida, en cada cas, és la cua tal com ha quedat després de la inserció.
Input
{4, 5, 6}
6 -33
{7, 2, 5}
7 -33
{7, 2, 5}
4 -33
{}
2 -33
{3, 2, 1, 2}
2 -33
Output
{4, 5, -33, 6}
{-33, 7, 2, 5}
{7, 2, 5}
{}
{3, -33, 2, 1, 2}