Accueil > > > PLUS RAPIDE QUE LE TRI À BULLE, LE TRI PAR SELECTION
PLUS RAPIDE QUE LE TRI À BULLE, LE TRI PAR SELECTION
Information sur la source
Description
Voici un tri plus rapide que le tri à bulles. Etant piètre programmeur, je me suis contenté de recopié celui d'un site vb. Je suis sur qu'il peut vous servir......
Source
- Public Sub TriParSelection(tabLong() As Long)
- Dim lgFor As Long
- Dim lgMem As Long, lgTiers As Long
- Dim lgTmp As Long
- lgTiers = LBound(tabLong)
- Do
- lgTiers = 3 * lgTiers + 1
- Loop Until lgTiers > UBound(tabLong)
- Do
- lgTiers = lgTiers / 3
- For lgFor = lgTiers + LBound(tabLong) To UBound(tabLong)
- ' Enregistrement de la valeur de l'élément "courant"
- lgTmp = tabLong(lgFor)
- lgMem = lgFor
- Do While tabLong(lgMem - lgTiers) > lgTmp
- ' Ecrase la valeur de l'élément "courant" (ou de comparaison, à partir du second tour)
- tabLong(lgMem) = tabLong(lgMem - lgTiers)
- ' Recherche la position d'un nouvel élément de "comparaison"
- lgMem = lgMem - lgTiers
- ' Evite de sortir des limites du tableau
- If lgMem < lgTiers Then Exit Do
- Loop
- ' Enregistre la valeur de l'élément courant à la place de
- ' l'élément de comparaison si l'échange a effectivement eu lieu.
- ' Sinon, cela n'a aucun effet, enregistrement de l'élément courant
- ' sur lui-même
- tabLong(lgMem) = lgTmp
- Next lgFor
- Loop Until lgTiers = LBound(tabLong)
- End Sub
Public Sub TriParSelection(tabLong() As Long)
Dim lgFor As Long
Dim lgMem As Long, lgTiers As Long
Dim lgTmp As Long
lgTiers = LBound(tabLong)
Do
lgTiers = 3 * lgTiers + 1
Loop Until lgTiers > UBound(tabLong)
Do
lgTiers = lgTiers / 3
For lgFor = lgTiers + LBound(tabLong) To UBound(tabLong)
' Enregistrement de la valeur de l'élément "courant"
lgTmp = tabLong(lgFor)
lgMem = lgFor
Do While tabLong(lgMem - lgTiers) > lgTmp
' Ecrase la valeur de l'élément "courant" (ou de comparaison, à partir du second tour)
tabLong(lgMem) = tabLong(lgMem - lgTiers)
' Recherche la position d'un nouvel élément de "comparaison"
lgMem = lgMem - lgTiers
' Evite de sortir des limites du tableau
If lgMem < lgTiers Then Exit Do
Loop
' Enregistre la valeur de l'élément courant à la place de
' l'élément de comparaison si l'échange a effectivement eu lieu.
' Sinon, cela n'a aucun effet, enregistrement de l'élément courant
' sur lui-même
tabLong(lgMem) = lgTmp
Next lgFor
Loop Until lgTiers = LBound(tabLong)
End Sub
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
tri d'une sélection d'une liste [ par harzer ]
Bonjour à tous.J'ai une liste multi sélection dans laquelle j'ai plusieurs lignes.ce que je souhaite faire, c'est après avoir sélectionné une partie d
** TRI D'INFORMATION????** [ par Heny ]
Salut a tousJ'utilise ce code pour faire une sélection a deux choix c.a.d je fait un tri par « Mode de payement » et par « versement », si le cheque
tri d'une Listview sur plusieur colonne [ par ludovicanceaux ]
Salut à tous, en fait j'aurai voulu savoir komment ou kel serai le moyen le plus aproprié pour trié Une Listview ex:J'ai une Listview de 4 lignes et
tri d'une Listview sur plusieur colonne [ par ludovicanceaux ]
Salut à tous, en fait j'aurai voulu savoir komment ou kel serai le moyen le plus aproprié pour trié Une Listview ex:J'ai une Listview de 4 lignes et
Problème de tri dans un etat qui répère une requete [ par rolo ]
Votre texte ICIBonjour,Mon problème est le suivant: Je génère une requête SQL en VBA puis j'affiche les résultat trié selon les choix de l'utilisateur
Sélection de ligne dans un datagrid [ par drizzt40 ]
Bonjour, J'ai un probleme avec la propriété row des datagrid : le numéro de la ligne en cours (datagrid.row) n'augmente pas quand on clique
SetFocus Sélection des boutons [ par valer ]
salut!voila je suis un peu dans l'urgence car je fini mon stage ce soir!bref voila le pb.Je douche un codes et le met dans une textbox. Je sais génére
datagrid tri mémorisation [ par drastik74 ]
Bonjour a vous, j'aurais voulu savoir si quelqu'un savait comment faire pour mémoriser le tri d'un datagrid. Je voudrais en fait que lorsque je rouvre
[VBA/EXCEL] Tri d'un combobox? [ par ShadowWisp ]
Est-ce que quelqu'un connait une méthode *simple* pour trier un combobox dans excel/vba?La propriété de la combobox sorted n'éxistant pas...Merci d'av
Tri dans un listview [ par chris81 ]
bonjour,comment fait on pour trier des nombres dans un listview en vb.net.mercihttp://www.tarnweb.comhttp://www.correzeweb.com
|
Derniers Blogs
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Forum
FONCTION EXCEL VBAFONCTION EXCEL VBA par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|