Code source tri par "insertion"

void tri_insertion(int tableau[],int longueur)
     {
     int i, memory, compt, marqueur;

     for(i=1;i<longueur;i++)
        {
        memory=tableau[i];
        compt=i-1;

        do
            {
            marqueur=false;
            if (tableau[compt]>memory)
                {
                tableau[compt+1]=tableau[compt];
                compt--;
                marqueur=true;
                }
            if (compt<0) marqueur=false;
            }
        while(marqueur);
        tableau[compt+1]=memory;
        }

     }