forked from menault/TD4_DEV51_Qualite_Algo
TP4
This commit is contained in:
55
Tri.py
Normal file
55
Tri.py
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
# Définition de Fonctions
|
||||
|
||||
def Tri(Tableau, DIMENSIONS, NVALEURS):
|
||||
liste = Tableau
|
||||
for d in range(0, DIMENSIONS-2):
|
||||
liste = liste[0]
|
||||
print(liste)
|
||||
|
||||
# Tri des tableaux feuilles
|
||||
for f in range(0, NVALEURS):
|
||||
TriSelection(liste[f])
|
||||
|
||||
# Suite - Seulement à deux dimensions
|
||||
tabsomme = [0]*NVALEURS
|
||||
for n in range(0, NVALEURS):
|
||||
tabsomme[n] = sum(liste[n])
|
||||
|
||||
change = True
|
||||
while change:
|
||||
change = False
|
||||
for i in range(0, NVALEURS-1):
|
||||
if tabsomme[i] > tabsomme[i+1]:
|
||||
tmp = tabsomme[i]
|
||||
tabsomme[i] = tabsomme[i+1]
|
||||
tabsomme[i+1] = tmp
|
||||
|
||||
tmp = Tableau[i]
|
||||
Tableau[i] = Tableau[i+1]
|
||||
Tableau[i+1] = tmp
|
||||
|
||||
|
||||
def TriSelection(tableau):
|
||||
"""Implémentation classique d'un tri par sélections."""
|
||||
taille = len(tableau)
|
||||
for i in range(0, taille-1):
|
||||
idmin = i
|
||||
for j in range(i+1, taille): # Parcours de la partie non-trié
|
||||
if tableau[j] < tableau[idmin]:
|
||||
idmin = j
|
||||
if idmin != i :
|
||||
tmp = tableau[i]
|
||||
tableau[i] = tableau[idmin]
|
||||
tableau[idmin] = tmp
|
||||
|
||||
|
||||
# Programme Principal
|
||||
|
||||
DIMENSIONS = 2
|
||||
NVALEURS = 3
|
||||
Tableau = [ [0,3,2], [9,4,5], [4,1,3] ]
|
||||
|
||||
Tri(Tableau, DIMENSIONS, NVALEURS)
|
||||
|
||||
print(Tableau)
|
||||
Reference in New Issue
Block a user