Tri par insertion(PASCAL)

Fermé
neno - 14 juin 2009 à 22:25
 Ditravo Noussayer - 25 févr. 2011 à 22:59
Bonjour,
donc voila le problème j'ai un expose sur le tri par insertion et je veux savoir le principe de ce tri et l'explication de langage pascale de ce tri.
MERCI.
A voir également:

2 réponses

+ LOGARITME MERCI
1
je travaille sur le sujet en ce moment, dommage que t'es pas eu de réponse avant; ton exposé doit etre finit, pour ce que ca interresse voici le code avec un tableau de 10 valeurs:

program tri_par_insertion;

const
     N=10;
type
    ttab=array[1..N] of integer;
var
    cnt:integer;
    tab:ttab ;
    temp:integer;
    pos:integer;
function trouveouinserer(tab1:ttab;ideb,ifin,aval:integer):integer;
         var
                    cnt2:integer;
                    trouve:boolean;
         begin
              cnt2:=ideb;
              trouve:=false;
              repeat
                    if aval<tab1[cnt2] then

                            trouve:=true

                       else

                           cnt2:=cnt2+1;



              until((trouve) or (cnt2>ifin));
         trouveouinserer:=cnt2;
         end;

procedure decale(var tab2:ttab;ideb,ifin:integer);
          var
                cnt3:integer;
          begin
               for cnt3:=ifin downto ideb do
               begin
                    tab2[cnt3+1]:=tab2[cnt3];
               end ;
          end;
               
         
begin
     for cnt:=1 to N do
     begin
          writeln('numero ',cnt);
          read(tab[cnt])
     end;
     for cnt:=2 to N do
         begin
              temp:=tab[cnt];
              pos:=trouveouinserer(tab,1,cnt-1,temp);
              decale(tab,pos,N);
              tab[pos]:=temp;
         end;
     for cnt:=1 to N do
         begin
               writeln('numero ',cnt,' =',tab[cnt]);
               readln;
          end;
end.
0
procédure tri-insertion (n:entier,var T:tab)

pour c de 2 à n faire
si t[c-1]>t[c] alors
Tmp <-- t[c]
Proc decaler (t,c-1,p)
t[p+1]<--Tmp
fin si
fin pour
fin tri-insertion
procedure decaler (vat t:tab,deb:entier,var fin:entier)

tanque (fin>=1)et (t[fin]<Tmp) faire
t[fin+1] <-- t[fin]
fin <-- fin-1
fin tant que
fin decaler

{VOILA LE L'ALGORITHME DU TRI-INSERTION }
SI VOUS VOULEZ DE L'AIDE CONTACTER MOI SUR MON E-MAIL

""""""""""""""""""""""""""" NOUNOU_KOBEJASON85@HOTMAIL.COM """""""""""""""""""""""""""""""""""
0
exercice pascal
-2