不封装函数:
先说一下冒泡排序的是怎么样比较的。冒泡排序是不断地将当前元素与后一个元素进行比较,如果当前元素较小,则调换当前元素与后一个元素的位置,否则保持不变;假设需要排序的元素一共有n个,从第一个元素开始,对后续的(n-2)元素进行上述比较,最终的排序结果中,最后的元素是最大值。
list1 = [12,34,56,23,33,89,32,45,31]
for i in range(1,len(list1)): #遍历,遍历的次数为列表长度-1,因为冒泡排序不和自身比较
for j in range(len(list1)-i): #遍历,遍历的次数为列表长度-i,-i是因为前边已经比较过的后边就需要遍历比较了
if list1[j] > list1[j+1]: #如果前边的值大于后边的值,那么交换位置
list1[j],list1[j+1] = list1[j+1],list1[j]
print(list1)
函数封装版
def maopao(List):
for i in range(1,len(List)):
for j in range(len(List)-i):
if List[j] > List[j+1]:
List[j],List[j+1] = List[j+1],List[j]
return List
list1 = [12,34,56,23,33,89,32,45,31]
print(maopao(list1))
结果: