Inserta per Ordre X88100


Statement
 

pdf   zip   tar

Fes una funció amb la capçalera

/**
 * @brief Insereix un valor en una llista ordenada.
 *
 * @param l Llista d'enters ordenada ascendentment.
 * @param x Valor a inserir.
 * @pre l està ordenada ascendentment.
 * @post l conté x i segueix ordenada ascendentment.
 */
void inserta_per_ordre(list<int>& l, int x);

que rep una llista d’enters ordenada ascendentment i un enter x, i insereix x a la posició correcta de manera que la llista continuï ordenada.

Per exemple, si la llista conté 1 3 5 7 9 i x = 4, la llista resultant ha de ser 1 3 4 5 7 9. Si x és menor o igual que tots els elements, s’insereix al principi; si és major que tots, s’insereix al final.

Entrada

L’entrada consisteix en una línia amb els enters de la llista ordenada (separats per espais, pot ser buida) i una segona línia amb l’enter a inserir.

Sortida

La sortida és una línia amb els elements de la llista resultant, separats per espais.

Observació

Als fitxers públics (icona del gatet) trobaràs: main.cc (el programa principal, amb l’entrada/sortida feta), inserta.cc (a on has d’implementar la funció) i un Makefile.

Has d’implementar inserta_per_ordre al fitxer inserta.cc i enviar només aquest fitxer.

Public test cases
  • Input

    1 3 5 7 9
    4
    

    Output

    1 3 4 5 7 9
    
  • Input

    2 4 6 8
    1
    

    Output

    1 2 4 6 8
    
  • Input

    1 2 3
    10
    

    Output

    1 2 3 10
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++