|
Scambiare il contenuto di due variabili procedure SCAMBIA(Var X, Y: Elemento); Var Temp: Elemento; begin Temp:=X; X:=Y; Y:=Temp; end; Ordinare un vettore di due elementi If(V[1] > V[2]) then SCAMBIA(V[1], V[2]); EsempioV={20, 15} --> V={15, 20} Ordinare un sottovettore di due elementi If(V[i] > V[i+1]) then SCAMBIA(V[i], V[i+1]); EsempioV={20, 15, 10, 3}, i=2 --> V={20, 10, 15, 3} Una passata Una passata su tutte le N-1 coppie, all'interno di un vettore, provoca lo spostamento "in alto" della "bolla" più grande for i:=1 to N-1 do if(V[i] > V[i+1]) then SCAMBIA(V[i], V[i+1]); Cioè l'elemento più grande si trova in ultima posizione alla fine della passata. EsempioV={20, 15, 10, 3} --> V={15, 20, 10, 3} --> V={15, 10, 20, 3} --> V={15, 10, 3, 20} |
|