Fonction tri tableau (simple)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 29 084 fois - Téléchargée 31 fois

Contenu du snippet

Fonction de tri d'un tableau, il suffit de passer en paramètre le nom du tableau et la colonne sur laquelle on veut trier.
Ce tri marche pour les tableaux à 2 dimensions quelquesoient le nbre de lignes et de colonnes.
(pas de tri sur plusieurs colonnes, l'ordre peut être facilement ajouté)

Source / Exemple :


<%
'--------------------------------------------------------------------------------
' fonction de tri d'un tableau
' Permet renvoyer un tableau Trié issu du tableau transmis en paramêtre
' (Quelquesoient le nombre de lignes et de colonnes) et avec le N° de la colonne à trier k
'--------------------------------------------------------------------------------
Function TriTableau (LeTableau,k)
Dim Ligne_Tampon
Dim Tableau_Tampon
' récupération des deux dimensions du tableau (lignes, colonnes)
MaxLig = UBound(LeTableau,1)
MaxCol = UBound(LeTableau,2)
i = 0
ReDim Ligne_Tampon(MaxCol)
ReDim Tableau_Tampon(MaxLig, MaxCol)
Do until i = MaxLig
 ' Chaque élément est comparé à celui qui lui est supérieur dans le classement
   j=0
   Do until j = MaxLig -1
     If (LeTableau(j, k) > LeTableau((j + 1), k)) Then
     ' l'élément J est plus important que l'élément J + 1 alors on les intervertit
       for l = 0 to MaxCol
         Ligne_Tampon(l) = LeTableau(j,l)
         Tableau_Tampon(j,l) = LeTableau((j + 1),l)
         Tableau_Tampon((j + 1),l) = Ligne_Tampon(l)				
       next
       if j < MaxLig - 2 then
         j=j+1
       end if
     Else
       for l = 0 to MaxCol		
         Tableau_Tampon(j,l) = LeTableau(j,l)
         Tableau_Tampon((j + 1),l) = LeTableau((j+1),l)
       next
     End If
     j=j+1
   Loop
   i=i+1
   LeTableau = Tableau_Tampon
Loop
TriTableau = Tableau_Tampon
End Function
%>
<%
' Appel de la fonction
TableauTrie = TriTableau (tableau_A_Trier, 1)
%>

A voir également

Ajouter un commentaire

Commentaires

IMcode
Messages postés
1
Date d'inscription
lundi 8 janvier 2007
Statut
Membre
Dernière intervention
27 août 2007
-
Il existe un tas de fonction native de PHP comme natcasesort(), mieu vaut utiliser un seul mot plutôt qu'une cinquantaine de ligne...

Les fonctions natives sont là pour ça, alors pourquoi se casser la tête et "allourdir" un programme avec ta fonction...

it's my opinion.
cs_Bud
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006
-
Il existe d'autres methodes bien plus efficaces pour trier des tableaux.
chatmiaou
Messages postés
4
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
7 novembre 2003
-
Cette source ne devrait pas être dans cette catégorie , surement un erreur de saisie . Désolé.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.