Vous êtes sur la page 1sur 3

Mme jihene chiboub algorithme de tri 4ème Science

Principe du tri par sélection croissant


 Pour chaque élément du tableau d’indice i (du premier élément, jusqu’au l’élément
d’indice (n-2)
 Trouver un élément plus petit que t[i ],dans la partie du tableau (de i+1 à l’élément
d’indice n-1) si on trouve un élément t[j] plus petit que t[i] on fait une
permutation
Exemple :

t 7 5 1 2
0 1 2 3

t[0]=7 t[2]=1 est le plus petit


 Permuter t[0] et t[2]

t 1 5 7 2
0 1 2 3

t[1]=5 t[3]=2 est le plus petit


Permuter t[1] et t[2]

t 1 2 7 5
0 1 2 3

t[2]=7 t[3]=5 est le plus petit


Permuter t[2] et t[3]

t 1 2 5 7
0 1 2 3

1
Mme jihene chiboub algorithme de tri 4ème Science

Procédure tri_Selection(n : entier ; @ t : tab)


Début
Pour i de 0 à n-2 faire
Pour j de i+1 à n-1 faire
Si t[j]<t[i] alors
TDOG
auxt[i] Objet Type
i,j Entier
t|i]t[j] aux réel
t[j]aux
Fin Si
Fin Pour
Fin Pour
Fin
NB : tab est déclaré dans TDNT comme tableau de 100 réels

Programme Tri sélection

def taille (): def tri_selection_croissant(n,T):


n=int(input("donner la taille de t :")) for i in range(n-1):
while (n<0) :
for j in range (i+1,n):
n=int(input("redonner n:"))
return n if T[j]<T[i]:
def tableau (n): T[j],T[i]=T[i],T[j]
T=[0]*n return T
for i in range (n): #pp#
T[i]=float(input("donner réel N°" +str(i)+" >=0 : ")) n=taille()
while T[i]<0: T=tableau(n)
T[i]=float(input("redonner le réel N° " +str(i))) T=tri_selection_croissant(n,T)
return T print("le tableau trié : croissant ")
def affiche(n,T): affiche(n,T)
for i in range (n):
print(f"T[{i}]= {T[i]:.3f}")

2
Mme jihene chiboub algorithme de tri 4ème Science

Principe du tri à bulles croissant


Comparer les élément t[i] et t[i+1]
Si t[i]>t[i+1] alors on fait une permutation
Le tableau est trié lorsqu’on ne fait plus de permutation

Procédure tri_bulles(n : entier ; @ t : tab)


Début
Répéter
PermuterFaux
Pour j de i de 0 à n-2 faire
Si t[i]>t[i+1] alors
TDOG
auxt[i] Objet Type
i, Entier
t|i]t[j] aux Réel
Permuter boolèen
t[j]aux
PermuterVrai
Fin Si
Fin Pour
Jusqu’à Permuter=faux
Fin
NB : tab est déclaré dans TDNT comme tableau de 100 réels

def tri_Bulle_croissant(n,T):
ok=True
while (ok==True):
ok=False
for i in range (n-1):
if T[i]>T[i+1]:
T[i],T[i+1]=T[i+1],T[i]
ok=True
return T

Vous aimerez peut-être aussi