Bonjour.
J'ai un problème que je voudrais demander pour avoir le meilleur tri avec une complexité acceptable.
J'ai un tableau au début
int * tab = {5,3,6,2,4,7,4}
Ce tableau a la taille de 7. Je voudrais faire un tri sur ce tableau pour obtenir un tableau de résultat de sorte que :
int *resultat = {5,2,0,4,6,1,3}
c'est à dire en fait d'ordonner les indices de tableau en fonctions de leur valeurs.
Ma proposition est que je vais créer une structure simple appelée Objet,par exemple,de 2 champs comprenant (int valeur, int indice). Donc le tableau tab devient :
Objet * tab = {(5,0),(3,1),(6,2),(2,3),(4,4),(7,5),(4,6)}
Ensuite, je vais trier ce tableau tab en fonction des valeurs, avec un tri quick sort.
En fin, le tableau resultat est rempli en prenant les indices d'objets dans le tab trié.
Que pensez vous?
Avez vous une meilleure idée ?sans passer par une structure ?
Cordialement.


Partager