常用算法
lowb三人组
冒泡排序:
# 当前结果是从大到小,若想从小到大排序,将a[j] < a[j+1] 改为 a[j] > a[j+1] 即可
a = [1,4,2,5,22,3]
n = len(a)
for i in range(1,n):
for j in range(n-i):
if a[j] < a[j+1]:
a[j],a[j+1] = a[j+1],a[j]
print(a)
选择排序:
# 当前结果是从大到小,若想从小到大排序,将a[min] < a[j] 改为 a[min] > a[j] 即可
a = [1,4,2,5,22,3]
n = len(a)
for i in range(1,n):
min = i-1
for j in range(i,n):
if a[min] < a[j]:
min=j
if min != i-1:
a[min],a[i-1] = a[i-1],a[min]
print(a)
插入排序:
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >=0 and key < arr[j] :
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
arr = [12, 11, 13, 5, 6]
insertionSort(arr)
print ("排序后的数组:")
for i in range(len(arr)):
print ("%d" %arr[i])
本文深入探讨了三种经典排序算法:冒泡排序、选择排序和插入排序。通过Python代码详细解析了每种算法的工作原理,展示了如何根据需求调整算法实现升序或降序排序。
4469

被折叠的 条评论
为什么被折叠?



