Heim >Backend-Entwicklung >Python-Tutorial >Beispiel eines in Python implementierten Sortieralgorithmus für direkte Einfügung

Beispiel eines in Python implementierten Sortieralgorithmus für direkte Einfügung

不言
不言Original
2018-05-02 15:49:521730Durchsuche

Dieser Artikel stellt hauptsächlich den in Python implementierten Direkteinfügungs-Sortieralgorithmus vor. Er analysiert die Definition und Verwendung des Python-Direkteinfügungs-Sortieralgorithmus in Form von Beispielen. Der Code ist zum leichteren Verständnis mit detaillierten Kommentaren versehen siehe weiter

Das Beispiel in diesem Artikel beschreibt den in Python implementierten Direkteinfügungs-Sortieralgorithmus. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

# -*- coding:utf-8 -*-
'''直接插入的python实现
  时间复杂度O(n**2) 空间复杂度O(1) 稳定
思想:先将前两个元素排序,第三个元素插入前面已排好序列,
    后面的元素依次插入之前已经排好序的序列
'''
author = 'Leo Howell'
L = [89,67,56,45,34,23,1]
def direct_insert_sort(numbers):
  for i in range(1,len(numbers)):
    #temp变量指向尚未排好序元素(从第二个开始)
    temp = numbers[i]
    #j指向前一个元素的下标
    j = i-1
    #temp与前一个元素比较,若temp较小则前一元素后移,j自减,继续比较
    while j>=0 and temp<numbers[j]:
      numbers[j+1]=numbers[j]
      j = j-1
    #temp所指向元素的最终位置
    numbers[j+1] = temp
if __name__==&#39;__main__&#39;:
  direct_insert_sort(L)
  print L

Laufergebnisse:

Verwandte Empfehlungen:

Detaillierte Erläuterung der Beispiele für binäre Suche und schnelle Sortierung in Python

Das obige ist der detaillierte Inhalt vonBeispiel eines in Python implementierten Sortieralgorithmus für direkte Einfügung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn