COUNTING SORT

Fermé
pseudomonstre Messages postés 6 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 31 mars 2016 - 31 mars 2016 à 20:09
[Dal] Messages postés 6175 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 30 avril 2024 - 1 avril 2016 à 12:01
int* counting_sort(int* arr, int k, int size)
{
int *B, *C;
C = (int*) malloc(sizeof(int)*k);
B = (int*) malloc(sizeof(int)*size);

for(int i=0;i<k; i++) C[i] = 0;
// get the count of elements in arr.
// ASSUMPTION: All elements in arr is < k
for(int i=0;i<size;i++) C[arr[i]]++;

for(int i=k-1;i>0;i--) C[i-1] += C[i];

for(int j=0;j<size;j++) {
B[C[arr[j]]] = arr[j];
C[arr[j]]--;
}
return B;
}
void main()
{
int A[] = {2,3,4,1,6,8,7,5};
int *b;
b = counting_sort(A, 9, 8);
// b[0] is garbage, unused entry
std::cout<<b[0]<<std::endl;

// b[1]..b[size] is filled with sorted
std::cout<<b[1];
}


est ce que ce programme est en langage C? si cest oui quelqu'un pourrait me le traduire en francais?
je ne comprends rien et cest urgent :(
je vous remercie

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
31 mars 2016 à 20:28
Bonjour, ← ne pas oublier la politesse c'est important !

Oui c'est du C.

Des explications sont disponibles ici :
http://analgorithmaday.blogspot.com/2011_03_08_archive.html
0
pseudomonstre Messages postés 6 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 31 mars 2016
Modifié par pseudomonstre le 31/03/2016 à 20:37
Bonsoir KX
je vous remercie pour votre reponse mais mon probleme cest que je ne comprends pas anglais je suis debutante. merci
0
Mosca > pseudomonstre Messages postés 6 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 31 mars 2016
31 mars 2016 à 21:30
Bonjour,
explications en français

https://fr.wikipedia.org/wiki/Tri_comptage
0
pseudomonstre Messages postés 6 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 31 mars 2016 > Mosca
31 mars 2016 à 21:43
Merci :)
0
[Dal] Messages postés 6175 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 30 avril 2024 1 083
Modifié par [Dal] le 1/04/2016 à 12:03
@KX, je dirais du C++ vu la présence de
std::cout
, mais il peut bien sûr être aisément remplacé par un
printf()
en C.
0