Código Python – Ordenamiento Quicksort

El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Quicksort:

def quicksort(lista, izq, der):
    i, j = izq, der
    x = lista[(izq + der) // 2]

    while i <= j:
        while lista[i] < x:
            i += 1
        while x < lista[j]:
            j -= 1
        if i <= j:
            lista[i], lista[j] = lista[j], lista[i]
            i += 1
            j -= 1

    if izq < j:
        quicksort(lista, izq, j)
    if i < der:
        quicksort(lista, i, der)

def imprimeLista(lista):
    for num in lista:
        print(num)

def leeLista():
    cn = int(input("Cantidad de números a ingresar: "))
    lista = []
    for i in range(cn):
        lista.append(int(input("Ingrese número %d: " % i)))
    return lista

A = leeLista()
quicksort(A, 0, len(A) - 1)
imprimeLista(A)

Pueder ir al artículo principal:

Códigos Sencillos hechos en Python

One thought on “Código Python – Ordenamiento Quicksort

Deja un comentario