Esborrar tots els nodes amb cert valor d'una cua T44918


Statement
 

pdf   zip   tar

thehtml

Afegeix un mètode públic a la classe Queue<T> que donat un valor x, esborri de la cua tots els nodes amb aquest valor.

La capçalera és la següent:

/**
 * @brief Elimina de la cua tots aquells nodes que tenen el valor `x`.
 *
 * @param `x` El valor dels nodes que cal esborrar
 */
void erase_all(const T& x);

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, accediu sempre als membres privats directament.

Els fitxers públics (icona del gatet) contenen:

queue.hhla classe Queue<T>
main.ccel programa principal (gestiona l’entrada i sortida)
Makefileper compilar amb make al terminal
.vscodeper 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. Cada cas té dues línies, a on la primera conté una cua en el format {e1, e2, ..., eN}, i la segona línia indica quin és el valor x a esborrar de la cua.

Sortida

De la sortida també se n’encarrega el programa principal. La sortida mostra la cua tal qual ha quedat després de fer l’esborrat, un cop aplicat el mètode erase_all.

Public test cases
  • Input

    {1, 2, 3}
    1
    
    {1, 2, 3}
    4
    
    {1, 2, 3, 4, 5}
    3
    
    {1, 2, 3, 4, 5}
    5
    
    {1, 2, 3, 2, 1}
    2
    
    {1, 2, 3, 2, 1}
    1
    
    {1, 1, 1, 1, 1}
    1
    

    Output

    {2, 3}
    
    {1, 2, 3}
    
    {1, 2, 4, 5}
    
    {1, 2, 3, 4}
    
    {1, 3, 1}
    
    {2, 3, 2}
    
    {}
    
    
  • Information
    Author
    Mª Lluïsa Bonet i Pau Fernández
    Language
    Catalan
    Official solutions
    Unknown.
    User solutions
    C++