1.冒泡排序
arr = [8,3,2,6,1,4,9,7]
for i in range(0,len(arr)-1):
for j in range(0,len(arr)-1-i):
if arr[j] >= arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
print(arr)
运行结果:
2、选择排序
arr = [8,3,2,6,1,4,9,7]
for i in range(0,len(arr)-1):
for j in range(i+1,len(arr)):
if arr[i]<arr[j]:
arr[i],arr[j]=arr[j],arr[i]
print(arr)
运行截图:
3、插入排序
arr = [8,3,2,6,1,4,9,7]
for i in range(1,len(arr)):
for j in range(i,0,-1):
if arr[j]<arr[j-1] :
arr[j-1],arr[j]=arr[j],arr[j-1]
print(arr)
运行截图:
4、计数排序(桶排序)
arr = [8,3,2,6,1,4,9,7,7]
ls = [0]
max_num = max(arr) #python中自带max函数,求最大值
min_num = min(arr)
num = max_num-min_num+1 #计算至少要有几位用来存储不同的数,可以理解为:要有几个桶,来存储不同
的鱼。
# for i in range(0,max_num-min_num+min_num):#进行列表计数补初始值0
# ls.append(0)
ls = ls*num #这边可以直接乘以需要几位,补出一个num位为0的列表。
for i in range(0,len(arr)):#存次数 ,其实就是在这一步完成了排序的过程
ls[arr[i]-min_num]+=1 #排序存入
for i in range(0,len(ls)):
for j in range(ls[i],0,-1):#取出次数
print(i+min_num,end=" ")
运行代码: