冒泡排序
def BubbleSort(a):
flag=True
for i in range(len(a)-1):
if flag==True:
flag=False
for j in range(len(a)-i-1):
if a[j]>a[j+1]:
t=a[j]
a[j]=a[j+1]
a[j+1]=t
flag=True
return a
a=[3,2,6,1,4]
print(BubbleSort(a))
快速排序
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
a=[3,2,6,1,4]
print(quick_sort(a))
选择排序
def SelectSort(a):
for i in range(len(a)-1):
j=i
for k in range(i+1,len(a)):
if a[k]<a[j]:
j=k
if j!=i:
t=a[i]
a[i]=a[j]
a[j]=t
return a
a=[3,2,6,1,4]
print(SelectSort(a))
直接排序
def direct_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
a=[3,2,6,1,4]
print(direct_sort(a))