Inserta en Orden X88100


Statement
 

pdf   zip   tar

Escribe una función con la cabecera

/**
 * @brief Inserta un valor en una lista ordenada.
 *
 * @param l Lista de enteros ordenada ascendentemente.
 * @param x Valor a insertar.
 * @pre l está ordenada ascendentemente.
 * @post l contiene x y sigue ordenada ascendentemente.
 */
void inserta_per_ordre(list<int>& l, int x);

que reciba una lista de enteros ordenada ascendentemente y un entero x, e inserte x en la posición correcta de manera que la lista siga ordenada.

Por ejemplo, si la lista contiene 1 3 5 7 9 y x = 4, la lista resultante debe ser 1 3 4 5 7 9. Si x es menor o igual que todos los elementos, se inserta al principio; si es mayor que todos, se inserta al final.

Entrada

La entrada consiste en una línea con los enteros de la lista ordenada (separados por espacios, puede estar vacía) y una segunda línea con el entero a insertar.

Salida

La salida es una línea con los elementos de la lista resultante, separados por espacios.

Observación

En los ficheros públicos (icono del gatito) encontrarás: main.cc (el programa principal, con la entrada/salida hecha), inserta.cc (donde debes implementar la función) y un Makefile.

Debes implementar inserta_per_ordre en el fichero inserta.cc y enviar únicamente ese fichero.

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
    Spanish
    Translator
    Pau Fernández
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++