目录
一.冒泡排序
代码
def bubble_sort(alist):
n=len(alist)
for j in range(n-1):
count=0
for i in range(0,n-1-j):
if alist[i]>alist[i+1]:
alist[i],alist[i+1]=alist[i+1],alist[i]
count+=1
if count==0:
return
if __name__=="__main__":
li=[54,26,93,17,77,31,44,55,20]
print(li)
bubble_sort(li)
print(li)
# print([0,1,2,3,4,5,6,7,8,9][9:1:-1])
# print([i for i in range(9,1,-1)])
运行结果
/Users/lichengxiang/Desktop/python/venv/bin/python /Users/lichengxiang/Desktop/python/数据结构和算法/冒泡排序.py
[54, 26, 93, 17, 77, 31, 44, 55, 20]
[17, 20, 26, 31, 44, 54, 55, 77, 93]进程已结束,退出代码0
二.选择排序
代码
def select_sort(alist):
n=len(alist)
for j in range(n-1):
min_index=j
for i in range(j+1,n):
if alist[min_index]>alist[i]:
min_index=i
alist[j],alist[min_index]=alist[min_index],alist[j]
if __name__=="__main__":
li=[54,26,93,17,77,31,44,55,20]
print(li)
select_sort(li)
print(li)
运行结果
/Users/lichengxiang/Desktop/python/venv/bin/python /Users/lichengxiang/Desktop/python/数据结构和算法/选择排序.py
[54, 26, 93, 17, 77, 31, 44, 55, 20]
[17, 20, 26, 31, 44, 54, 55, 77, 93]进程已结束,退出代码0
三.插入排序
代码
def insert_sort(alist):
n=len(alist)
for j in range(1,n):
i=j
while i>0 and alist[i]<alist[i-1]:
alist[i],alist[i-1]=alist[i-1], alist[i]
i-=1
if __name__=="__main__":
li=[54,26,93,17,77,31,44,55,20]
print(li)
insert_sort(li)
print(li)
运行结果
/Users/lichengxiang/Desktop/python/venv/bin/python /Users/lichengxiang/Desktop/python/数据结构和算法/插入算法.py
[54, 26, 93, 17, 77, 31, 44, 55, 20]
[17, 20, 26, 31, 44, 54, 55, 77, 93]进程已结束,退出代码0