冒泡排序必備知識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] #這樣就進行了所有冒泡排序從小到大