Bonjour,
J'ai un petit problème de tri, je vous explique mon problème.
J'ai une structure avec entre autre un nom de type string et un ordre de type int (plus d'autres choses non importante dans le cadre de mon probleme).
Je dois rajouter dans un vecteur les noms mais dans l'ordre correspondant à ordre. Le problème est que hashtable fait une énumeration un peu aléatoire ( ordre correspond en fait à l'ordre d'entrée dans la table mais l'enumeration n'en tient pas compte).
Pour info le numéro d'ordre peut être supérieur au nombre d'élément dans la table de hachage.
Pour l'instanct j'ai une focntion qui marche mais est un pas top, en fait je fais une premiere énumération pour obtenir le numéro d'ordre max, je crée un tableau de cette longueur.
Je parcours mon tableau pour tout mettre à nul, ensuite je reparcours ma table de hachage en inserant dans mon tableau à l'indice correspondant à l'ordre mon nom.
Je parcours ensuite ce tableau et si la valeur n'est pas nul, je rajoute dans mon vecteur la valeur du tableau.
Ainsi je me retrouve avec un vecteur ayant tout mes noms triés.
Le problème n'est pas tant le temps d'éxecution, je n'aurais normalement jamais plus d'une dizaine d'élément, le truc c'est que je trouve pas ca tres jolie, et pour des programmes futurs une manière plus rapide pourrait me servir.
Donc si vous avez des idées...
Partager