第二十七節,冒泡排序

冒泡排序必備知識python

 

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冒泡排序原理spa

#!/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]

#這樣就進行了所有冒泡排序從小到大
相關文章
相關標籤/搜索