Est-ce qu'il existe, sous Delphi 5, une instruction pour trier un tableau ?
Merci.
Est-ce qu'il existe, sous Delphi 5, une instruction pour trier un tableau ?
Merci.
Salut,
Tu peux trouver ici dans la Faq :http://castelain.developpez.com/sources/TriStringGrid/
un exemple de code qui trie une StringGrid suivant le contenu d'une de ses colonnes avec QuickSort, c'est facilement modifiable pour trier un tableau.
En fait c'est quoi ton tableau car si c'est un tableau d'une seule colonne avec du texte c'est plus simple d'utiliser une StringList et sa méthode Sort.
A+
Pourquoi trier le tableau dans une TStringList alors qu'il est plus facile et simple de faire un Tri directement sur le Tableau
Ci dessous le code du tri à bulle
Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 type TMonType = record Id : Integer; Chaine : Strings; end; MonTableau : array of TMonType; // .... var MonTypeTmp : TMonType; bSwap : Booelan; begin // tri du tableau bSwap := True; While bSwap do begin bSwap := False; for i := low(MonTableau) to high(MonTableau) - 1 do begin if (MonTableau[i].Id > MonTableau[i + 1].Id) then begin MonTypeTmp := MonTableau[i]; MonTableau[i] := MonTableau[i+1]; MonTableau[i+1] := MonTypeTmp ; bSwap := true; end; end; // for end; // while
A adapter bien sur à ton tableau
Re-bonjour,
... s'il s'agit de chaînes de caratères à trier le tri d'une StringList s'effectue avec une seule instruction : MaStringList.Sort ... donc pas besoin de se casser la tête avec 26 lignes de code. Non ? En plus Sort c'est du QuicK plus rapide que le tri à bulle.Pourquoi trier le tableau dans une TStringList alors qu'il est plus facile et simple de faire un Tri directement sur le Tableau
A+
Bonjour,
... effectivement ce serait mieux si le contexte permet de le faire... peut-être remplacé le array définitivement pas une TStringList
... et s'il veut un tri de chaînes plus rapide que le Quick on pourra toujours lui proposer AlphaSort (on en a une version sur le site qui fonctionne avec un array de string ... par contre elle utilise davantage que les 26 lignes de code du tri à bulle).
A+
Bein quoi ?? il est bien le tri à bulle, qu'est ce qu'il a mon tri à bulle ?
Enfin, bon, pour ma part, j'aime bien le tri à bulle, car il est facile à retenir et à écrire
Puis selon le nombre d'éléments à trier, on a pas besoin de trop se casser la tête avec lui et il est quand même assez rapide ^^
Sinon, je serais intéressé par le code du QuickSort et AlphaSort (Juste pour voir)
Un petit papier surAlphaSort de Lionel Delafosse, un ancien de mes collègues ... tu as du code, avec des string (il peut être plus performant avec du PChar)
Re-bonjour,
... je ne critique pas le tri à bulle car chaque méthode de tri est utilisable dans les conditions où elle excelle.Bein quoi ?? il est bien le tri à bulle, qu'est ce qu'il a mon tri à bulle ?
1) Pour le QuickSort : voir ici, (FAQ) : http://castelain.developpez.com/sources/TriStringGrid/Sinon, je serais intéressé par le code du QuickSort et AlphaSort (Juste pour voir)
où l'on trouve la procedure QuickSort(...) utilisée pour le tri d'un StringGrid.
2) Pour AlphaSort : voir ici : http://www.developpez.net/forums/sho...rt#post2784174
où l'on trouve la Function AlphaSortAOS(...) qui est encapsulée dans la procedure SupprDoublonsAOS(...)
(pour supprimer les doublons on trie d'abord puis on crée le fichier-destination en ignorant les doublons).
A+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager