Bonjour tout le monde, j'étudie le C et un exercice me bloque, voici :
Je dois programmer un tri rapide (quicksort) de manière générique sa déclaration est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
quicksort(void *array,int numberElem,int size, int *cmp(void*,void*));
Pour effectuer mes tests je possède un tableau d'entier généré aléatoirement.
J'ai dans un premier temps du effectuer un tri rapide uniquement sur ce tableau d'entier, je posséde donc un tri rapide pour tableau d'entier que j'essaye d'adapter de manière générique.

Voici le début de mon code de quicksort générique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
void
quicksort
(void *array, int numberElem, int size,int(*cmp)(const void * a, const void * b))
{
  char *localA=(char *) array;
  int haut=0;
}
Ma question est la suivante :
Sachant que je converti le void en char et que je connais la taille d'un entier (4) je vais donc comparer les cellules en accédant a leur indices de la manières :
localA+i*size

Mais en comparant les cases du tableau de char 1 par 1 il se peut que le chiffre entier réellement représenté par les 4 char consécutif sois plus grand que celui représenté par les 4 autres char comparé ?

J'espère avoir été clair , merci pour votre future aide !