# 有一组列表数据,怎么通过冒泡算法求得最大值
list_ = [8, 0, 4, 3, 2, 1]
for index in range(len(list_)-1):
# 通过索引循环,把循环到变量赋值
i = list_[index]
# 判断当前循环的数和后面的数比大小,如果大就交换索引位置的值
if list_[index] > list_[index+1]:
list_[index] = list_[index+1]
# 索引加1的值要赋值为i
list_[index+1] = i
print(list_)
结果为:
[0, 4, 3, 2, 1, 8]
如果要对所有的数据进行冒泡排序,就对列表长度进行循环
list_ = [8, 0, 4, 3, 2, 1]
for n in range(len(list_)):
for index in range(len(list_)-1):
i = list_[index]
if list_[index] > list_[index+1]:
list_[index] = list_[index+1]
list_[index+1] = i
print(list_)
结果:
[0, 1, 2, 3, 4, 8]
注意:至于为什么循环的时候要减1,是因为index+1的时候会超出范围