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.
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.
La salida es una línea con los elementos de la lista resultante, separados por espacios.
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.
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