Python-Sortierübungen

Überprüfung des Sortieralgorithmus (Python-Implementierung)

Wählen Sie Sortieren
def selection_sort(arr):
    """
    选择排序
    :param arr:
    :return:sorted list
    """
    length = len(arr)
    for i in range(length - 1):
        min_index = i
        """
        从min_index 到 最终 选择最小的,插入到前面已排序的尾部
        """
        # 寻找未排序列表之中最小的
        for j in range(min_index, length):
            if arr[min_index] > arr[j]:
                min_index = j
        # 找到未排序列表最小值之后与未排序列表第一个进行交换,此时最小值加入到前面已排序部分
        arr[i], arr[min_index] = arr[min_index], arr[i]
      

Wählen Sie Sortieren, um die Liste in vordere: sortierte Liste, hintere: unsortierte Liste aufzuteilen, fügen Sie die kleinste der unsortierten Liste hinten ein, fügen Sie sie am Ende der sortierten Liste vorne ein und wiederholen Sie den Vorgang wiederholt, um die gesamte Liste zu sortieren.

Wählen Sie Sortieren
 def insert_sort(arr):
    length = len(arr)
    for i in range(1, length):
        # 此时i为未排序列表第一个
        """
        将该元素与前面已排序的列表比较,如果该元素比前一个元素大,则加交换位置(前移)
        """
        for j in range(i, 0, -1):
            if arr[j] < arr[j - 1]:
                arr[j], arr[j - 1] = arr[j - 1], arr[j]
    return None

Die Hauptidee des Einfügesortieralgorithmus besteht darin, die folgenden Elemente mit den vorherigen Elementen zu vergleichen, sie in die Vorderseite einzufügen und wiederholt zu wiederholen, um eine sortierte Liste zu bilden.

Fortsetzung folgt. . .

Veröffentlicht 19 Originalartikel · Likes6 · Besuche 728

Ich denke du magst

Origin blog.csdn.net/qq_42631607/article/details/103206681
Empfohlen
Rangfolge