Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Solución reto#30 Python #1371

Open
grisales54 opened this issue Oct 6, 2024 · 0 comments
Open

Solución reto#30 Python #1371

grisales54 opened this issue Oct 6, 2024 · 0 comments

Comments

@grisales54
Copy link

`
def ordenar(arreglo, orden="asc"):
# Función que ordena un arreglo en orden ascendente o descendente

if orden == "asc":
    asc = arreglo.copy()  # Crea una copia del arreglo original

    for posicion in range(len(asc) - 1):
        # Recorre el arreglo desde el inicio hasta el penúltimo elemento

        minimo = posicion  # Asume que el elemento actual es el mínimo

        for i in range(posicion + 1, len(asc)):
            # Recorre los elementos restantes del arreglo

            if asc[i] < asc[minimo]:
                minimo = i  # Actualiza el índice del mínimo si encuentra un elemento menor

        # Realiza el intercambio fuera del bucle interno
        if minimo != posicion:
            asc[posicion], asc[minimo] = (
                asc[minimo],
                asc[posicion],
            )  # Intercambia los elementos

    return asc  # Devuelve el arreglo ordenado ascendentemente

elif orden == "desc":

    desc = arreglo.copy()  # Crea una copia del arreglo original

    for posicion in range(len(desc) - 1):
        # Recorre el arreglo desde el inicio hasta el penúltimo elemento

        maximo = posicion  # Asume que el elemento actual es el máximo

        for i in range(posicion + 1, len(desc)):
            # Recorre los elementos restantes del arreglo

            if desc[i] > desc[maximo]:
                maximo = i  # Actualiza el índice del máximo si encuentra un elemento mayor

        if maximo != posicion:
            # Intercambia los elementos solo si se encontró un nuevo máximo
            desc[maximo], desc[posicion] = desc[posicion], desc[maximo]

    return desc

print(ordenar([3, 2, 1, 5, 4], "desc"))
`

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant