I. Tri à bulles▲
Sélectionnez
PROCEDURE permuter(var t : tab ;indice1 :integer ;indice2 :integer);
Var
aux :integer ;
Begin
Aux := t[indice1] ;
t[indice1] :=t[indice2] ;
t[indice2] :=aux ;
end ;
PROCEDURE tri_bulle(var t: tab; n:integer);
var
i,j, aux:integer;
begin
for i:= n downto 1 do
for j:= 1 to i-1 do
if(t[j] < t[j+1] ) then
permuter(t,j,j+1);
end;II. Tri par insertion▲
Sélectionnez
PROCEDURE permuter(var t : tab ;indice1 :integer ;indice2 :integer) ;
Var
aux :integer ;
Begin
Aux := t[indice1] ;
t[indice1] :=t[indice2] ;
t[indice2] :=aux ;
end ;
PROCEDURE tri_insertion(var t :tab ; n :integer)
Var
i ,k: integer ;
Begin
For i:= 2 to n do
Begin
k:=i;
while (( k > 1 ) and ( t[k] < t[k-1] ) ) do
begin
permuter(t,k,k-1);
k :=k-1;
end;
end ;
end;III. Tri par sélection▲
Sélectionnez
PROCEDURE permuter (var t : tab ;indice1 :integer ;indice2 :integer);
Var
aux :integer ;
Begin
Aux := t[indice1] ;
t[indice1] :=t[indice2] ;
t[indice2] :=aux ;
End ;
FUNCTION recherche_position_min(t : tab ;i :integer ) :integer ;
var
min ,j:integer ;
begin
posMin:=i;
for j:=i+1 to n do
if( t[j] < t[posMin]) then
posMin:=j;
recherche_position_min := posMin ;
end ;
PROCEDURE tri_selection(VAR t :tab) ;
Var
i , Indice_Minimum : integer :
begin
For i :=1 to n do
Begin
Indice_Minimum := recherche_position_min(t,i);
permuter(t,i,Indice_Minimum);
end;
end;



