Enoncé : Trier un tableau T de n entiers dans l’ordre croissant.
procedure tri_bulles(var t:tab;n:integer);
var i:integer;
aux:integer;
echange:Boolean;
begin repeat
echange:=false;
for i:= 1 to n-1 do if t[i]>t[i+1] then begin
echange:=true;
aux:= t[i];
t[i]:= t[i+1];
t[i+1]:=aux;
end;
until (echange=false) ; end;
Function pos_min(T:tab;p:integer):integer;
var
pmin,i:integer;
begin pmin:=p;
for i:=p+1 to n do
if t[i]<t[pmin] then pmin:=i;
pos_min:=pmin;
end;
procedure tri_selection(var t:tab ;n :integer);
var
i,pm:integer;
aux:integer;
begin
for i:= 1 to n-1 do begin
pm:=pos_min(t,i);
if t[pm]<>t[i] then begin
aux:= t[i];
t[i]:= t[pm];
t[pm]:=aux;
end;
end;
end;
Procedure Tri_insertion( var t : tab ;n :integer);
Var
i, j, k : integer;
begin for i:=2 to n do begin k := t[i];
j := i - 1;
while (j >= 1) and (t[j] > k) do begin
t[j + 1] := t[j];
j := j - 1;
end;
t[j + 1] := k;
end;
end;