即冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、基数排序、堆排序等
一、冒泡排序
基本思想: 两个数比较大小,较大的数下沉,较小的数冒起来。
过程:
比较相邻的两个数据,如果第二个数小,就交换位置。从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。继续重复上述过程,依次将第2.3…n-1个最小数排好位置。
python实现:
def maopao(arr):
n = len(arr)
for i in range(n):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j]
return arr
print(maopao(arr))
图例:
二、选择排序
基本思想:
在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换;第二次遍历n-2个数,找到最小的数值与第二个元素交换;。。。
第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。
python代码实现:
def xuanze(arr):
for i in range(len(arr)):
x = i
for j in range(i, len(arr)):
if arr[j] < arr[x]:
x = j
arr[i], arr[x] = arr[x], arr[i]
retu