Insertar en una cua abans d'un cert valor Y89411


Statement
 

pdf   zip   tar

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);

Observació

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.

Entrada

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).

Sortida

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ó.

Public test cases
  • 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}
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Official solutions
    Unknown.
    User solutions
    C++