Inserta en Orden

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.

Información del problema

Autoría: Unknown
Traducción: Pau Fernández

Generación: 2026-02-25T09:47:10.616Z

© Jutge.org, 2006–2026.
https://jutge.org