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
;