website logo
Auteur
avatar
alex

Forum » » Création-Développement » » J'ai besoin d'aide


Posté : 21-12-2010 09:51 icone du post

Bon alors voilà, je reprécise que je ne connais pas du tout Hollywood, j'ai fait deux trois recherches pour la syntaxe et je n'ai pas testé mon code (forcément puisque je n'ai pas Hollywood). Ce code ne fonctionne (enfin j'espère) que pour le tableau avec la structure PZM, X, Y et D.



Function tri_rapide(tableau, premier, dernier)
    If premier < dernier
        Local pivot =  choix_pivot(tableau, premier, dernier)
        pivot = partitionne r(tableau, premier, dernier, pivot)
        tri_rapide(tableau, prem ier, pivot-1)
        tri_rapide(tableau, pivo t+1, dernier)
    EndIf
EndFunction

Function choix_pivot(tableau, premier, dernier)
    ; on choisit toujours le pre mier élément comme pivot
    return(premier)
EndFunction

Function partitionner(tableau, premier, dernier, pivot)
    echanger(tableau, pivot, dernier)
    Local j = premier
    For Local i = premier to&nbs p;dernier-1
        If tableau[i].PZM & lt;= tableau[j].PZM
            echan ger(tableau, i, j)
            Add(j ,1)
    Next
    echanger(tableau, dernier, j)
    Return(j)
EndFunction

Function echanger(tableau, index1, index2)
    ; on mémorise les valeurs& nbsp;liées à index 1
    Local PZM = tableau[index1].PZM
    Local X = tableau[index1].X
    Local Y = tableau[index1].Y
    Local D = tableau[index1].D
    
    ; on recopie les valeurs li& eacute;es à index2 dans index1
    tableau[index1].PZM = tableau[index2].PZM
    tableau[index1].X = tableau[index2].X
    tableau[index1].Y = tableau[index2].Y
    tableau[index1].D = tableau[index2].D
    
    ; on recopie les valeurs m&e acute;morisées dans index2
    tableau[index2].PZM = PZM
    tableau[index2].X = X
    tableau[index2].Y = Y
    tableau[index2].D = D
EndFunction



maintenant dans ton code il te suffit d'ajouter la ligne


tri_rapide(PT, 0, 95)


là où tu avais mis "Ici le tri"
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=942&forum=14