Python 氣泡排序有關range

2021-09-11 04:07:22 字數 738 閱讀 2673

問題源於寫氣泡排序的時候,遇到了for(i=n;i<=1;--i),用python怎麼實現?

答案:相當於for i in range(n,-1,-1)

所以for(j=1,j<=i,++j)相當於for j in range(1,i+1,1)

range(start, stop[, step])

引數說明:

完整的氣泡排序:

def bubblesort(nums):

n = len(nums)-1

for i in range(n,-1,-1): # 控制未排序的長短,已經冒上來的(位於最後)不再做處理

flag = 0

for j in range(1,i+1,1): # 對未排序的部分,進行兩兩交換比較

if(nums[j-1]>nums[j]):

nums[j-1],nums[j] = nums[j],nums[j-1]

flag = 1

if(flag==0): # 沒有資料進行交換

return nums

有關氣泡排序

氣泡排序 氣泡排序,就是像泡泡一樣,越來越小的泡泡會浮到上面,最大的數字會沉下去。思想 n個數通過n 1次排序 每次排序方式 兩兩相互比較,大的在後小的在前 交換 每次都選出乙個最大的放在最後面 一次排序結束後的下一次排序時,除去最下面的那個數,其他數字再兩兩比較 4 2 5 3 1 2 4 3 1...

排序 氣泡排序 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排序 氣泡排序

排序 氣泡排序 氣泡排序演算法的原理如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需...