python的冒泡排序和java的原理都是一样的。
原理:以列表的长度作为大循环的次数,小循环体获取列表的索引,和下一个索引的数据进行比较,如果当前索引的数据大于下一索引的数据,则将两个值对换一下。
这样可以把最大的数排到最后;第二次大循环继续将第二大的数据排到倒数第二位;第三次大循环将第三大的数据排列到倒数第三位。依次类推
具体代码:
def test(list1): for i in range(len(list1)): for j in range(len(list1)-i-1): if list1[j]>list1[j+1]: list1[j],list1[j+1]=list1[j+1],list1[j] return list1 num = [11, 12, 9, 4, 7, 1, 2] print(test(num))
效果图: