« Implémentation d'algorithmes classiques/Algorithmes de tri/Tri comptage » : différence entre les versions
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
//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;
}
}