{ File: ordbub.pas } { Scopo: ordinamento a bolle di un vettore (versione non ottimizzata) } { E` richiesta la definizione preliminare di: const NumElementi = ...; type TipoElemento = ...; TipoIndice = 1..NumElementi; TipoVettore = array [TipoIndice] of TipoElemento; } procedure BubbleSortNonOttimizzato (var A: TipoVettore); { Ordina il vettore A usando l'algoritmo di ordinamento a bolle nella versione non ottimizzata. } var i, j : TipoIndice; temp : TipoElemento; begin { BubbleSortNonOttimizzato } for i := 1 to NumElementi-1 do { inizia fase i } for j := NumElementi downto i+1 do { cominciando dal basso ... } if A[j] < A[j-1] then { se due elementi non sono in ordine } begin { allora scambiali } temp := A[j]; A[j] := A[j-1]; A[j-1] := temp end end; { BubbleSortNonOttimizzato }