51 routines :

*AppleScriptsVanilla*
ascii_to_HTML
Average
Calculator
Calendar
Count_item
cut_text
days_week
EAN13
Encrypt-Decrypt
FactPremier
French_Vanilla_Dotted_Date
French_Vanilla_Dotted_Date2
Hexa_to_Bin
Last_month
list_erase
list_insert
list_replace
ListeDiviseurs
ListePremiers
Minuscule
NombreLong
NombreLong2
NomExtension
num_item
num_month
num_month2
num_week
number_format
number_format2
Paques
PGCD
PGCD2
reverse_string
Roman_to_Arab
round_decimal
search_email
search_replace
search_URL
SepNbre
SepNbre2
snip_text
stat
TauxPermut
TauxTransform
the_left
the_right
TriBulle
TriLineaire
week_and_year
XOR
ZeroDouble

TriLineaire

Syntaxe

TriLineaire(LaListe)
Range les éléments d'une liste de nombres par ordre croissant, ou d'une liste de chaînes de caractères pas ordre alphabétique. Le paramètre et le résultat sont au format liste.
Adaptation d'un algorithme écrit en Basic extrait de : La pratique de l'APPLE II, Volume 1 - Basic Applesoft. Système Apple - Graphiques. Editions du P.S.I. 1981 par Francine Bréaud-Pouliquen.

Exemple

TriLineaire({1, 2, 8, 4, 6, 7, 5, 3, 9})
---> {1, 2, 3, 4, 5, 6, 7, 8, 9}
TriLineaire({"pomme", "abricot", "poire", "banane", "raisin", "orange"})
---> {"abricot", "banane", "orange", "poire", "pomme", "raisin"}

Script

on TriLineaire(laListe)
repeat with i from 1 to the (length of laListe) - 1
repeat with j from i + 1 to the (length of laListe)
if item j of laListe < item i of laListe then
set temp to item j of laListe
set item j of laListe to item i of laListe
set item i of laListe to temp
end if
end repeat
end repeat
return laListe
end TriLineaire

Remarque

Chaque élément de la liste est comparé avec tous les suivants. Dés qu'un élément est mal situé, il est échangé avec celui qui aurait du être placé avant.
Pour ranger les éléments par ordre decroissant, il suffit de remplacer l'opérateur "<" par ">".

Site scripté avec HyperCard ©1987-1998 Apple Computer, Inc.
Mise à jour le 19/01/10 à 08:45:57