Pour étudier python et les algorithmes, j'ai implémenté le tri sélectif.
Créez une liste aléatoire Exemple: [1,3,0,4,2]
Recherchez la plus petite valeur dans la liste des cibles d'opération Exemple: [1,3,0,4,2] → 0 est le minimum
Remplacez l'extrême gauche par 0, et 0 termine l'opération.
[1,3,0,4,2]→[0,3,1,4,2]
-Le suivant est le deuxième en partant de la gauche, puis le troisième ... et ainsi de suite, et répétez les étapes 2 et 3-
[1,3,0,4,2] [0,3,1,4,2] [0,1,3,4,2] [0,1,2,4,3] [0,1,2,3,4]
Il semble que le processus de ... s'appelle le tri sélectif.
select_sort.py
import random
#Entrez le nombre de valeurs à préparer
numbers = 10
#Créer une liste pour stocker les valeurs vérifiées
pop_list = []
#Créer des nombres aléatoires
num_list = list(range(numbers))
random.shuffle(num_list)
def _select_min(num_list, pos):
    _min = None
    _left = num_list[pos]
    _pos = 0
    for i in range(pos, len(num_list)):
        if _min == None or _min > num_list[i]:
            _min = num_list[i]
            _pos = i
    
    num_list[pos] = _min
    num_list[_pos] = _left
    return(num_list)
#Traitement principal
print("START : ",num_list)
for i in range(len(num_list)):
    num_list = _select_min(num_list, i)
print("GOAL  : ",num_list)
Recommended Posts