« Implémentation d'algorithmes classiques/Algorithmes de tri/Tri comptage » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
{{feuille volante}}
<code>
<code>
//On ne compte que des valeurs variant de 0 à 255 <br>
//On ne compte que des valeurs variant de 0 à 255 <br>
Ligne 24 : Ligne 25 :
}
}
</code>
</code>

[[Catégorie:Mathématiques]]

Version du 15 juin 2010 à 21:58

Cette page est une feuille volantelink={{{link}}}

Il faudrait la ranger dans un wikilivre où elle aurait sa place.

//On ne compte que des valeurs variant de 0 à 255
unsigned int counter[256];

//Algorithme linéaire de tri compteur
void countersort(unsigned char* table,unsigned int n)
{ unsigned int i,k,j;

//Mise à zéro du compteur
for(i=0;i<256;i++) counter[i]=0;

//Dénombrement des éléments
for(i=0;i<n;i++) counter[table[i]]++;

//On replace les éléments dans le tableau
j=0;
for(i=0;i<256;i++)
{ //Il y a counter[i] éléments ayant la valeur i
for(k=0;k<counter[i];k++,j++)
table[j]=i;
}
}