Problem

1 /7


sorta di bolla

Theory Click to read/hide

Ordinamenti quadratici

Ordinamento - sta riorganizzando gli elementi di un array (lista) in un determinato ordine.

Bubble method (bubble sort) o ordinamento per semplici scambi).
Un classico immortale del genere. Il principio di funzionamento è semplice: aggiriamo l'array dall'inizio alla fine, scambiando contemporaneamente elementi vicini non ordinati. Come risultato del primo passaggio all'ultimo posto, "si apre" elemento massimo. Ora aggiriamo nuovamente la parte non ordinata dell'array (dal primo elemento al penultimo) e cambiamo i vicini non ordinati lungo il percorso. Il secondo elemento più grande sarà al penultimo posto. Continuando con lo stesso spirito, aggireremo la parte non ordinata in continua diminuzione dell'array, spingendo i massimi trovati fino alla fine.
 
Fonte

Implementazione algoritmica di questo algoritmo
CICLO PER J=1 TO N-1 PASSO 1
   F=0
   LOOP FOR I=1 TO N-J-1 PASSO 1
     SE A[I] > A[I+1] ALLORA
       SCAMBIA A[I],A[I+1]
       F=1
   PROSSIMO I
   IF F=0 THEN EXIT THE LOOP // se non ci sono stati scambi durante il passaggio,
  // che significa tutti gli elementi
  // disposti in ordine
 PROSSIMO J
Complessità di questo algoritmo: \(\displaystyle O(n^{2})\).


Ulteriori informazioni utili: Articolo di Wikipedia.

 

Problem

È necessario ordinare l'array in ordine non decrescente utilizzando il metodo "bolla".
 
Input
La prima riga contiene un numero naturale N non superiore a 1000 – dimensione dell'array. La seconda riga contiene N numeri – elementi dell'array (numeri interi non superiori a 1000 in modulo).
 
Uscita
Genera l'array risultante.
 
Esempi
# Input Uscita
1
5
5 4 3 2 1
1 2 3 4 5