51 routines : *AppleScriptsVanilla* |
TriBulleSyntaxeTriBulle(LaListe) ExempleTriBulle({1, 2, 8, 4, 6, 7, 5, 3, 9}) Script
RemarqueLes nombres les plus "lourds" tombent au fond de la liste, les plus légers remontent à la surface. L'index i pointe l'élément 1 de la liste, puis avance élément par élément. L'élément i est comparé avec celui i+1. Si le 1er est supérieur les 2 éléments sont inversés. Lorsqu'un balayage de i est terminé, on recommence à balayer, mais on s'arrête un élément avant le dernier balayage (n-i) car l'élément le plus lourd doit déjà avoir sombré au fond. La boucle s'arrète quand un balayage complet n'a pas inversé d'éléments ou quand la longueur du balayage est réduite à 0. la variable booléenne "flag_inversion" teste à la fin de chaque balayage si une inversion a eu lieu. |
Site scripté avec HyperCard ©1987-1998 Apple Computer, Inc.
Mise à jour le 19/01/10 à 08:45:57