defBubblesort(a):
length=len(data)for i inrange(length):for j inrange(length-i-1):if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
2.直接插入排序
defInsertionsort(a):
length=len(a)for i inrange(1,length):
tmp=a[i]for j inrange(i-1,-1,-1):if a[j]>tmp:
a[j+1]=a[j]
a[j]=tmp
3.选择排序
defselectionsort(a):
length=len(a)for i inrange(length-1):for j inrange(i+1,length):if a[i]>a[j]:
a[i],a[j]=a[j],a[i]
4.快速排序
defquicksort(data,left,right):if left>right:return
tmp=data[left]
i=left
j=right
while i<j:while data[j]>=tmp and i<j:
j-=1while data[i]<=tmp and i<j:
i+=1if i<j:
data[i],data[j]=data[j],data[i]
data[left]=data[i]
data[i]=tmp
quicksort(data,left,i-1)
quicksort(data,i+1,right)
5.归并排序
defmergesort(a):
length=len(a)if length<=1:return a
mid=int(length/2)
left=mergesort(a[:mid])
right=mergesort(a[mid:])
res=[]while left and right:
res.append(left.pop(0)if left[0]<=right[0]else right.pop(0))
res.extend(left if left else right)return res
1.冒泡排序def Bubblesort(a): length=len(data) for i in range(length): for j in range(length-i-1): if a[j]>a[j+1]: a[j],a[j+1]=a[j+1],a[j]2.直接插入排序def Inse...