Compter nombre comparaisons tri selection

Fermé
lylylou12 - 10 déc. 2009 à 22:32
 lylylou12 - 11 déc. 2009 à 12:24
Bonjour

J'ai implémenté le tri sélection en c et je voudrais compter le nombre de comparaisons effectuées.
Cependant le résultat obtenu semble linéaire( ce qui me parait être impossible).
Pourriez vous m'aider à placer correctement mes compteurs SVP?

void 
tri_insertion(int taille)
{
  int i,j,k,tmp, nb_com; //nb_comp sert de compteur pour les comparaisons
  j=1;
  i=0;
  while(j<taille-1)
    {
      while( j<taille-1 &&tab[j]>=tab[j-1]){
	nb_comp++;
	j++;
      } 
      nb_comp++;
      while(tab[i]<tab[j])
	{  nb_comp++;
	  i++;	  
	}
      if(i!=j){
	tmp=tab[j];
	for(k=j;k>i;k--)
	  tab[k]=tab[k-1];
	tab[i]=tmp;
      }
      
    }
}




Merci d'avance.
A voir également:

1 réponse

personne?
0