##排序
#氣泡排序
'''氣泡排序演算法的原理如下:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
'''#方法一
a_list=[6,5,4,3,2,1,7]
for t in range(len(a_list)-1):#控制前後比較,迴圈輪數n-1
for j in range(0,len(a_list)-1):#前後元素
al=a_list[j]
if a_list[j]>a_list[j+1]:
a_list[j]=a_list[j+1]#轉換位置
a_list[j+1]=al#後面元素 變到前面
print(a_list)
#方法二(好理解)
#list = [6, 5, 4, 3, 2, 1]
def maopao(list):
n=len(list)
#n-1,n是列表總共有n個元素,要進行n-1輪比較,第一輪,需要n-1次比較
for i in range(n-1):#前乙個元素
for j in range(i+1,n):#後乙個元素
if list[i]>list[j]:
list[i],list[j]=list[j],list[i]#交換前後元素a,b=b,a交換倆個變數的值
#list[j] = list[i] 交換元素,分開寫是錯誤的
#list[i] = list[j]
if __name__ == '__main__':
list = [6, 5, 4, 3, 2, 1]
maopao(list)
print(list)
列印結果:
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6]
##排序
#氣泡排序
'''氣泡排序演算法的原理如下:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
'''#方法一
a_list=[6,5,4,3,2,1,7]
for t in range(len(a_list)-1):#控制前後比較,迴圈輪數n-1
for j in range(0,len(a_list)-1):#前後元素
al=a_list[j]
if a_list[j]>a_list[j+1]:
a_list[j]=a_list[j+1]#轉換位置
a_list[j+1]=al#後面元素 變到前面
print(a_list)
#方法二(好理解)
#list = [6, 5, 4, 3, 2, 1]
def maopao(list):
n=len(list)
#n-1,n是列表總共有n個元素,要進行n-1輪比較,第一輪,需要n-1次比較
for i in range(n-1):#前乙個元素
for j in range(i+1,n):#後乙個元素
if list[i]>list[j]:
list[i],list[j]=list[j],list[i]#交換前後元素a,b=b,a交換倆個變數的值
#list[j] = list[i] 交換元素,分開寫是錯誤的
#list[i] = list[j]
if __name__ == '__main__':
list = [6, 5, 4, 3, 2, 1]
maopao(list)
print(list)
列印結果:
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6]
排序 氣泡排序 Python
依次比較相鄰兩元素的大小,順序與要求的不一致就交換。這樣會把待排序序列中的最大 最小 元素不斷 浮 到最右端,最終完成公升序或降序排列。對序列 2,4,1,3,6,5 按公升序排列 只記錄有交換發生的迴圈 第一次迴圈 2,4,1,3,6,5 2,1,4,3,6,5 2,1,3,4,6,5 2,1,3...
Python排序演算法 氣泡排序
def bubblesort seq length len seq for i in range length for j in range length 1,i,1 if seq j 1 seq j seq j 1 seq j seq j seq j 1 if name main seq 2,9,...
python氣泡排序 選擇排序
氣泡排序 1 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個的位置。2 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。完成一次完整的比較和交換位置時,最後的元素應該會是最大的數。3 針對所有的元素重複以上的步驟,除了最後乙個。4 持續每次對越來越少的元素重複上面的步驟,直到沒有任...