python学习笔记(第五天)

 

一、冒泡算法实例:

a = [32,5,22,41,7,31,12,102,74,37,9,25]

   1、方法1:

 

for i in range(len(a)):
for j in range(len(a)-1):
if a[j] > a [j+1]:
tmp = a[j]
a[j] = a[j+1]
a[j+1] = tmp

print(a)
注:此方法会循环12*11次,会进行多次不必要的判断
2、方法2:(此方法是将大的数字逐步往后移)
for i in range(len(a)):
for j in range(len(a)-i):
if a[j] > a [j+1]:
tmp = a[j]
a[j] = a[j+1]
a[j+1] = tmp

print(a)

3、方法3:(注:此方法是将找到小的数字往前移)
for i in range(len(a)-1):
for j in range(i+1,len(a)):
if a[i] > a[j]: #小于号表示遍历一遍找到最大值放到第一位,依次查找;如果是大于号则相反
tmp = a[i]
a[i] = a[j]
a[j] = tmp
print(a)

你可能感兴趣的:(python学习笔记(第五天))