Inserta per Ordre

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.

Informació del problema

Autoria: Pau Fernández

Generació: 2026-02-25T09:47:13.229Z

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