spmsbl
Messages postés51Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention14 février 2013
-
23 mars 2010 à 15:45
spmsbl
Messages postés51Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention14 février 2013
-
25 mars 2010 à 15:43
J'ai créé plusieurs méthodes afin d'extraire les différentes infos ex:
deuxiemeMot=tab [1].substring 3,7 ainsi de suite.....
Maintenant je dois écrire une class pour trier mon tableau avec QuickSort selon les informations extraite, sois selon la première chaine de chiffre ou première chaine de l'être etc. J'ai essayé plusieurs façon mais toujours sans succès.
Merci d'avance de vos réponse et ou suggestion
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 24 mars 2010 à 18:35
Comme dit précédemment, avec l'interface IComparer (voir le lien), tu peux définir toi-même à quelle(s) condition(s) un élément est inférieur ou supérieur à un autre.
Tu as juste une méthode dont voici le prototype :
static int Comparaison(string a, string b);
Et dans cette méthode, tu testes tout ce que tu veux sur a et b (substring, convert, tolower... tout ce dont tu as besoin quoi) pour, au final, renvoyer -1 si tu considères que a < b, 0 si tu considères que a = b et 1 si tu considères que a > b.
Enfin, tu appelle la méthode Sort :
Array.Sort(monTableau, Comparaison);
Et là, monTableau sera trié.
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 24 mars 2010 à 17:29
La méthode Sort() utilise l'algo QuickSort.
En revanche, il faudra que tu implémentes une méthode pour comparer 2 entrées de ton tableau.
Dans cette méthode, tu devras faire des test avec les substrings afin de renvoyer -1 0 ou 1 selon que la première entrée est < = ou > à la deuxième entrée.
spmsbl
Messages postés51Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention14 février 2013 24 mars 2010 à 17:57
Merci pour ta réponse Krimog, une fois ma nouvel méthode crée (qui compareras ci le substring est plus petit ou plus grand) comment je vais afficher le tableau en entier trier ? Je suis capable de faire un trie avec un champ précis et d'afficher seulement cette colonne mais je dois trier le tableau en entier par un des substrings et ensuite afficher l'ensemble du tableau.