下面这种是冒泡排序,
def bubblesort(list):
for i in range(len(list)):
for j in range(len(list) - i - 1):
if list[j]>list[j+1]:
list[j],list[j+1]=list[j+1],list[j]
return list
print(bubblesort([3,1,2,5,4,123,12,13]))
[4, 3, 2, 1, 5]
[3, 2, 1, 4, 5]
[2, 1, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
插入排序
def insertsort(list):
for i in range(len(list)):
for j in range(i,0,-1):
# for j in range(len(list) - i - 1):
if list[j]<list[j-1]:
list[j],list[j-1]=list[j-1],list[j]
print(list)
return list
print(insertsort([5,4,3,2,1]))
[5, 4, 3, 2, 1]
[4, 5, 3, 2, 1]
[3, 4, 5, 2, 1]
[2, 3, 4, 5, 1]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
插入排序和冒泡排序在交换的时候:一个是-,一个是+。冒泡排序是+,插入排序是-。
冒泡排序是n-i模型,选择排序是i+1,n 插入排序是i,0,-1的模型
golang
以数组的方式创建二叉树
前序遍历 中序遍历 后序遍历