Selection sort

Vedi la discussione

Osserva il meccanismo dell’algoritmo

ss1_
def selection_sort(lista):
    n = len(lista)
    for i in range(n-1):
        pos_min = i
        for j in range(i+1, n):
            if(lista[j] < lista[pos_min]):
                pos_min=j

        temp           = lista[i]  
        lista[i]       = lista[pos_min]
        lista[pos_min] = temp

Lo scambio solo se necessario

def selection_sort(lista): 
    n = len(lista) 
    for i in range(n-1): 
        pos_min = i 
        for j in range(i+1, n): 
            if(lista[j] < lista[pos_min]): 
                pos_min = j 
 
        if(pos_min != i):
            temp           = lista[i] 
            lista[i]       = lista[pos_min] 
            lista[pos_min] = temp