#!/usr/bin/env python3 def tri_rapide (T) : imin, imax = 0, len(T) - 1 tri_part(T, imin, imax) return T def tri_part(T, imin, imax) : if imin < imax : q = partition (T, imin, imax) tri_part(T, imin, q) tri_part(T, q + 1, imax) def partition (T, imin, imax): x = T[imin] while True : while T[imax] > x : imax -= 1 while T[imin] < x : imin += 1 if imin < imax : echange (T, imin, imax) imax -= 1 imin += 1 else : return imax def echange(V, i, j): tmp = V[i] V[i] = V[j] V[j] = tmp import sys def lire_vecteur(fichier) : f = open(fichier, mode = 'r') T = f.readlines() for i in range(len(T)) : T[i] = int(T[i]) f.close() return T print (tri_rapide (lire_vecteur(sys.argv[1])))