# -*- coding: utf-8 -*- from time import time def particion(lista, izq, der): global comparaciones pivote = lista[der] indice = izq for i in range(izq, der): comparaciones += 1 if lista[i] <= pivote: lista[indice], lista[i] = lista[i], lista[indice] indice += 1 lista[indice], lista[der] = lista[der], lista[indice] return indice def quicksort(lista, izq, der): if izq < der: pivote_indice = particion(lista, izq, der) quicksort(lista, izq, pivote_indice - 1) quicksort(lista, pivote_indice + 1, der) lista = [36, 71, 16, 21, 73, 9, 0, 40, 66, 5] print(lista, "\n") comparaciones = 0 t0 = time() quicksort(lista, 0, len(lista) - 1) t1 = time() print("Lista ordenada:") print(lista, "\n") print("Tiempo: {0:f} segundos".format(t1 - t0)) print("Comparaciones:", comparaciones)