Código Python – Ordenamiento Shell

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 Shell:

def ordenShell(lista):
    tam = len(lista)
    inc = 1
    while inc <= tam:
        inc = inc * 3 + 1
    while inc > 0:
        for i in range(inc, tam):
            j = i
            temp = lista[i]
            while j >= inc and lista[j - inc] > temp:
                lista[j] = lista[j - inc]
                j = j - inc
            lista[j] = temp
        inc = inc // 3

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

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

A = leeLista()
ordenShell(A)
imprimeLista(A)

Pueder ir al artículo principal:

Códigos Sencillos hechos en Python

One thought on “Código Python – Ordenamiento Shell

  1. def imprimeLista(lista,tam):
    for i in range(0,tam):
    print lista[i]

    podrias ahorrarte el armumento de tam en esta funcion y tambien en el For. Se sabe bien que python imprime todo el contenido de una lista con el for, no hace falta ponerle hasta donde si queremos ver todo el contenido. Asi

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

Deja un comentario