terça-feira, 26 de janeiro de 2021

selection sort

 ''' https://www.coursera.org/learn/ciencia-computacao-python-conceitos-2/programming/PAmc8/exercicios-adicionais-opcionais
Exercício 1: Gerando listas grandes: Escreva a função lista_grande(n), que recebe como parâmetro um número inteiro n e devolve uma lista contendo n números inteiros aleatórios.
Exercício 2: Ordenação com selection sort: Implemente a função ordena(lista), que recebe uma lista com números inteiros como parâmetro e devolve esta lista ordenada em ordem crescente. Utilize o algoritmo selection sort.
'''
import random
def lista_grande(n):
    l = []
    for i in range(n):
        l.append(int(random.random()*10))
    return l
def ordena(lista): # selection sort
    for i in range(len(lista)-1):
        p = i
        for j in range(i+1, len(lista)):
            print(i,j,len(lista))
            if lista[j] < lista[p]:
                p = j
        lista[i], lista[p] = lista[p], lista[i]
    return lista
def test():    
    print(lista_grande(20))
    l = [10, 90, 30, 40, 50, 70, 80, 20, 100, 60]
    print(ordena(l))
test()

Nenhum comentário:

Postar um comentário