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.
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.
La sortida és una línia amb els elements de la llista resultant, separats per espais.
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.
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