依次比较相邻两个元素大小
根据比较结果交换两个元素位置
最少循环次数为列表长度减1,即len(list)-1
算法简单,直接看代码:
def list_sort(list) :
list_len = len(list)
while list_len > 1 :
for i in range(list_len-1) :
# 如果是从小到大,则if条件为小于
# 如果是从大到小,则if条件为大于
if list[i] > list[i+1] :
list[i], list[i+1] = list[i+1], list[i]
list_len -= 1
return a_list
print(list_sort(a_list))
看运算结果:
C:\Python\python.exe C:/IDE/pycharm/pyth/Exam21.py
[2, 4, 13, 21, 29, 34, 56, 67, 69, 72, 77, 88, 95, 99, 100]
Process finished with exit code 0
如果需要看直接排序法,请看我上一篇
学习Python,我与大家共勉~