Bonjour à tous ,

Je viens de débuter la programmation pour initiation nous travaillons avec delphi en mode console donc le code source est +- le même que pascal du moins si ce que mon prof à dit est totalement exact.

Donc le principe du tri à insertion linéaire je l'ai compris mais le code ci-dessous moi bien.

Donc j'ai un vecteur v avec les valeurs suivantes 3 7 4 2 8 1 9 10 que je dois trier .

Donc mon code est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Procedure TriInsertion (var  v:tvect)    //Tvect correspond au type du vecteur
 
Var i,  j : integer ;  // j etant l'element du vecteur à la position i
      T: integer ;  //Correspond à une variable Temporaire.
BEGIN 
FOR i:= 2 TO N DO  // N Correspond à la dernier valeur de mon vecteur ou tableau
BEGIN 
      T:= v[i];
      j:= i -1 ;
      WHILE (j < 0 ) and (v[j] >1 ) DO 
 
            BEGIN   
            V[J+1]:=v[j] ; Dec(j);
            END;
            v[j+1]:= T ;
      end;
end.
résultat du programme : 1 2 3 4 7 8 9 10
Ma première question est pourquoi un while avec la condition qui suit dans le code ci-dessus ?

Celui qui peut m'expliquer le code entier, pas en detail mais juste par ligne serait sympa .
Ah oui, connaissez-vous aussi un bon site qui explique pour débutant les principes des tris ?

Merci d'avance .