VentoNelGrano ha scritto:
minomic ha scritto:
Tieni un'altra variabile, ad esempio chiamata "inf", nella quale scrivi l'elemento inferiore. Ad ogni nuova immissione dici:
- se è maggiore del massimo allora quello è il nuovo massimo, mentre quello che prima era il massimo diventa l'inferiore
- se non è maggiore del massimo allora può comunque essere il nuovo elemento inferiore: controlla ed eventualmente aggiorna
No, non l'ho proprio capito.
Prova a scriverlo su carta... E' piuttosto semplice.
Il nuovo numero è maggiore dell'attuale massimo? Se sì, allora prende il suo posto, e quello che prima era il massimo diventa l'elemento immediatamente inferiore. Se invece non è maggiore del massimo, allora può comunque essere maggiore dell'elemento immediatamente inferiore: se lo è allora lo sostituisci.
Esempio:
inserisci 1, e questo è il nuovo massimo perché è il primo valore.
Poi inserisci 2, che è maggiore del massimo. Quindi il nuovo massimo è 2 e l'elemento seguente è 1.
Poi inserisci 4, che è maggiore del massimo. Quindi il nuovo massimo è 4 e l'elemento seguente è 2.
Poi inserisci 3, che non è maggiore del massimo, quindi il massimo rimane 4. Però 3 è maggiore di 2, quindi 3 diventa il nuovo elemento immediatamente inferiore al massimo.