第二十七节,冒泡排序

冒泡排序必备知识

 

1两个变量互换值的错误方法
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#两个变量互换值的错误方法
a = 123
b = 456
a = b  #=456
b = a #=456
print(a,b)
#打印出 456 456
2两个变量互换值的正确方法
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#两个变量互换值的正确方法
a = 123
b = 456

c = a # =123
a = b #=456
b = c #=123
print(a)
print(b)
# 打印出
# 456
# 123
3将一个列表的元素互换位置
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#将一个列表的元素互换位置
a = [11,22]

b = a[0]    # = 11
a[0] = a[1] # = 22
a[1] = b    # = 11
print(a)
#打印出 [22, 11]
4冒泡排序的取值方法
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#冒泡排序取出来要排序的判断值
li = [11, 7687, 34, 99, 34678, 3456, 8759, 546]

for i in range(len(li) - 1): #len检查li列表有多少个元素,将返回数-1当做参数传入range创建成循环次数
    a1 = li[i]  #等于每次循环到的列表索引(索引取值)
    a2 = li[i + 1]  #等于每次循环到的列表索引加1(索引取值)
    print(i, a1, a2)    #这样打印出来,i就是列表的索引,a1和a2就是每次循环取出来要排序的判断值
#打印出
# 0 11 7687         
# 1 7687 34         
# 2 34 99          
# 3 99 34678        
# 4 34678 3456      
# 5 3456 8759       
# 6 8759 546        

 5冒泡排序原理

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#冒泡排序原理
li = [11, 7687, 34, 99, 34678, 3456, 8759, 546]
for i in range(len(li) - 1):  # len检查li列表有多少个元素,将返回数-1当做参数传入range创建成循环次数
    if li[i] > li[i + 1]:  # 每次循环的次数和次数加1当做列表的索引取出列表的两个元素,判断第一个元素是否大于第二个元素
        huh = li[i]  # 如果第一个元素大于第二个元素,将第一个元素赋值给一个变量
        li[i] = li[i + 1]  # 将第一个元素等于第二个元素
        li[i + 1] = huh  # 将第二个元素等于赋值的huh变量,这样第一元素和第二元素就进行互换位置
print(li)
# 打印出   [11, 34, 99, 7687, 3456, 8759, 546, 12, 34678]

#此列为进行了一遍冒泡排序,注意:有多少个元素就要进行多少遍冒泡排序见下列

 
6冒泡排总的流程(重点)
# -*- coding:utf-8 -*-
#冒泡排总的流程(重点)
li = [11, 7687, 34, 99, 34678, 3456, 8759, 546]

for j in range(1, len(li)):         #len检查li列表有多少个元素,将返回数当做参数传入range创建成循环次数从1开始循环
    for i in range(len(li) - j):  # len检查li列表有多少个元素,将返回数-1当做参数传入range创建成循环次数
        if li[i] > li[i + 1]:  # 每次循环的次数和次数加1当做列表的索引取出列表的两个元素,判断第一个元素是否大于第二个元素
            huh = li[i]  # 如果第一个元素大于第二个元素,将第一个元素赋值给一个变量
            li[i] = li[i + 1]  # 将第一个元素等于第二个元素
            li[i + 1] = huh  # 将第二个元素等于赋值的huh变量,这样第一元素和第二元素就进行互换位置
print(li)
#打印出 [11, 34, 99, 546, 3456, 7687, 8759, 34678]

#这样就进行了全部冒泡排序从小到大

 

 
 
 
posted @ 2016-07-26 12:46  林贵秀  阅读(433)  评论(0编辑  收藏  举报