Quicksort

#Hernandez Gutierrez Erik
#Quicksort
import os
import math
#Definicion de Funciones
def quicksort(cadena):
    menor = []
    igual = []
    mayor = []

    if len(cadena) > 1:
        pivot = cadena[0]
        for x in cadena:
            if x < pivot:
                menor.append(x)
            if x == pivot:
                igual.append(x)
            if x > pivot:
                mayor.append(x)
     
        return quicksort(menor)+quicksort(igual)+quicksort(mayor)  # se realiza la suma para juntar las cadenas(listas)
    else:  # cuando queda un solo elemento en la  cadena(lista) entonces hay que regresarlo
        return cadena

#Programa principal
print "=========================QUICKSORT========================="
cadena=[]
x=int(raw_input("INGRESE EL NUMERO DE DATOS A INGRESAR EN EL VECTOR:"))
i=1
while (i<=x):
    n=int(raw_input("INGRESE DATO:"))
    cadena.append(n)
    i+=1
cadena = quicksort(cadena)
print "SU LISTA ORDENADA CON EL METODO QUICKSORT ES:",  cadena
os.system('pause')

Comentarios

Entradas populares