冒泡排序就是 遍历数组 使得每一个数与其他的数比较 按照大小顺序交换位置
言语尽在代码中
def bubbling_sort(ret):
for i in range(len(ret) - 1):
# 因为每一轮比完一定会出现一个最大的数,排在最后,所以后面的数就不用考虑
for j in range(len(ret) - i - 1):
if ret[j] > ret[j + 1]:
ret[j], ret[j + 1] = ret[j + 1], ret[j]
冒泡排序的时间复杂度是n^2 因为存在一个两层循环
插入排序 就是 在一个数组中,遍历所有的数,使得每一个数与前面所有的数进行比较,然后判断大小,交换位置。
上代码
def insert_sort(tar_list):
lenth = len(tar_list)
i = 1
while i < lenth:
j = i - 1
value = tar_list[i]
while j >= 0:
if tar_list[j] > value:
tar_list[j + 1] = tar_list[j]
else:
break
j -= 1
tar_list[j + 1] = value
i += 1
冒泡排序和插入排序都输入稳定排序,在原数组上进行操作。
如果有错误或者问题,请在评论区指出和讨论,谢谢
纸上得来终觉浅,绝知此事要躬行