2021年11月19日 星期五

Python-插入排序法

 插入排序法,將本身和右邊值比較,右邊值較小進行交換,在持續往左邊比較,左邊值較大進行交換,直到左邊的值較小。

外圈先將每個值都依序比較,內圈比較後的值,若右邊小進行交換,直到左邊的值較小做停止。


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#設定需排序的數字。
Number='3241'
#轉成list格式。
array=list(Number)
#進行插入排序法,本身比右邊大進行交換。
for i in range(0,len(array)-1):
print('第{}輪:'.format(i+1))
print('初始:',array)
#進行插入排序法,遇到右邊比較小的進行交換。
#一直往左邊比較,若左邊值較大進行交換,直到右邊的值比較小。
for j in range(i,-1,-1):
#右邊的值較大,進行交換。
if array[j] > array[j + 1]:
temp=array[j]
array[j]=array[j+1]
array[j+1]=temp
elif array[j] < array[j + 1]:
break
print('比較結果:',array)
print('結果:',array)


結果:



沒有留言:

張貼留言

Ubuntu-Journalctl查看系統日誌

 近期所使用Ubuntu系統24小時開著,進行跑Python程式使用,但跑個2~3天,排程就無法正常寄信,SSH連線也無法正常連線,經查看後為wifi連線問題,暫先使用腳本排程進行重開wifi。 以下為記錄Journalctl指令。 使用Journalctl來從系統日誌上查看看問...