forked from menault/TD4_DEV51_Qualite_Algo
56 lines
1.1 KiB
Python
56 lines
1.1 KiB
Python
|
|
# 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)
|