Python 實現 Shell 排序程式
當需要實現 Shell 排序時,會定義一個函式,該函式以列表和列表長度作為引數。此列表會按特定數量的元素進行排序,其中元素數量為最大值。這會持續進行,直到元素數量具有最小值。
這會對列表中的所有子列表進行操作,並且所有這些子列表都已排序。
列表可用於儲存異構值(即任何資料型別的資料,如整數、浮點數、字串等)。
下面是相同內容的演示 -
示例
def shell_sort(my_list, list_len):
interval = list_len // 2
while interval > 0:
for i in range(interval, list_len):
temp = my_list[i]
j = i
while j >= interval and my_list[j - interval] > temp:
my_list[j] = my_list[j - interval]
j -= interval
my_list[j] = temp
interval //= 2
my_list = [ 45, 31, 62, 12, 89, 5, 9, 8]
list_len = len(my_list)
print ("The list before sorting is :")
print(my_list)
shell_sort(my_list, list_len)
print ("\nThe list after performing shell sorting is :")
print(my_list)輸出
The list before sorting is : [45, 31, 62, 12, 89, 5, 9, 8] The list after performing shell sorting is : [5, 8, 9, 12, 31, 45, 62, 89]
解釋
- 定義了一個名為“shell_sort”的方法,該方法將列表和列表長度作為引數。
- 使用“//”按位運算子定義“interval”變數。
- 它執行地板除法。
- 它將值四捨五入到最接近的整數。
- 迭代列表,並建立一個臨時變數。
- 將“interval”變數與列表的每個索引進行比較,並將列表中的每個元素與臨時變數進行比較。
- 再次使用“interval”變數執行地板除法。
- 定義列表,並在控制檯上顯示。
- 透過傳遞此列表及其長度來呼叫該方法。
- 在控制檯上顯示輸出。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP