TRIEUR DE TABLEAU SUR PLUSIEURS COLONNES

Messages postés
281
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
18 mars 2009
- - Dernière réponse : 8Tnerolf8
Messages postés
9
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
19 août 2013
- 28 juil. 2012 à 10:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54441-trieur-de-tableau-sur-plusieurs-colonnes

Afficher la suite 
8Tnerolf8
Messages postés
9
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
19 août 2013
-
Bonjour CGSI3

Je te remercie pour les liens que tu as indiqué.
En se rendant sur http://www.dailly.info/Avant-propos, on a tout un article détaillant les différents algorithmes de tri.

Après étude de ce dernier, je tenterai d'implémenter celui qui me semble le plus judicieux pour accélérer le tri de cette classe, et ne manquerai pas de t'en informer.

Bonne journée

8Tnerolf8
CGSI3
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1 -
Bonsoir 8Tnerolf8,
Voici pour INFO, trouvé sur le net, un petit tableau permetant de comprendre les différences de rapidité de chaque tri,
http://www.dailly.info/Comparaisons-de-performances

les algorithmes de tri étant détaillé ici (a traduire dans notre langage)
http://www.dailly.info/-030-Algorithmes-de-Tri-
8Tnerolf8
Messages postés
9
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
19 août 2013
-
Bonsoir CGSI3

- Si je n'ai pas utilisé une procédure du genre QuickSort, c'est tout simplement parce que je ne savais pas qu'elle existait.
Aurais-tu, s'il te plaît, des informations pour m'indiquer où la trouver et l'utiliser, sachant que je développe en VBA ?

- J'ai inclus deux IF dans ma procédure, une par type de tri, afin d'effectuer le bon tri de suite, à la volée.
Effectivement, ta suggestion de ne faire appel qu'à une sorte de tri et d'inverser le tableau ensuite, si besoin est, est envisageable, et, à l'occasion, j'implémenterai cette optimisation.

En te remerciant d'avoir pris la peine d'étudier ma classe d'objets, je ne manquerai pas de te tenir informé lorsque j'aurai adapté cette dernière comme tu l'as suggéré.

8Tnerolf8
CGSI3
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1 -
Bonsoir 8Tnerolf8,
Merci pour cette petite source, Je la lis rapidement ce soir et
je me suis surtout intéressé a ta procedure de tri

Voici 2 questions et des remarques:
- Pourquoi tu n'utilise pas une procédure de tri + rapide du genre QuickSort?
(ainsi ta source ne permettra pas de gérer de grande listes, le tri va s'éterniser)

- Une instruction IF dans une imbrication de 2 boucle FOR dois ralentir cette procedure de tri.
Pourquoi ne pas inverser ta selection a la fin du traitement selon le mode de tri voulu (trier sur le mode croissant et l'inverser si on le veux décroissant par exemple) ?

Remarque:
- 2 options de tri sont présente dans VB6 (je ne sais pas si elles le sont également en Vb.Net)
Option Compare Binary 'A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø
Option Compare Text '(A=a) < ( À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)

- En Vb.Net il existe Linq qui permet je pense de faire le même genre de chose, mais je n'ai pas aprofondis toutes ses possibilités.

Cordialement
CGSI3
8Tnerolf8
Messages postés
9
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
19 août 2013
-
Le bug sur le tri des valeurs numériques a été levé et le code de la classe d'objet mis à jour.

Vous trouverez en conclusion la procédure de recette portant sur un tri de nombres et un autre sur un tri de dates.