definsert_sort(array):for i inrange(len(array)):for j inrange(i):if array[i]< array[j]:
array.insert(j, array.pop(i))breakreturn array
希尔排序
defshell_sort(array):
gap =len(array)while gap >1:
gap = gap //2for i inrange(gap,len(array)):for j inrange(i % gap, i, gap):if array[i]< array[j]:
array[i], array[j]= array[j], array[i]return array
选择排序
简单选择排序
defselect_sort(array):for i inrange(len(array)):
x = i # min indexfor j inrange(i,len(array)):if array[j]< array[x]:
x = j
array[i], array[x]= array[x], array[i]return array
defquick_sort(array):defrecursive(begin, end):if begin > end:return
l, r = begin, end
pivot = array[l]while l < r:while l < r and array[r]> pivot:
r -=1while l < r and array[l]<= pivot:
l +=1
array[l], array[r]= array[r], array[l]
array[l], array[begin]= pivot, array[l]
recursive(begin, l -1)
recursive(r +1, end)
recursive(0,len(array)-1)return array
排序算法排序算法内部排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序交换排序冒泡排序快速排序归并排序基数排序插入排序直接插入排序def insert_sort(array): for i in range(len(array)): for j in range(i): if array[i] &lt; array[j]: ...