程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

問題5:Python冒泡排序

編輯:Python
# Python冒泡排序
# 冒泡排序思路:冒泡排序就是冒氣泡,大的氣泡上浮,小的氣泡下沉,相鄰兩個元素比較
# 每次遍歷比較相鄰元素,將大的放在後面
# 這裡就有個問題?外循環控制什麼?內循環控制什麼?
# 外循環控制遍歷次數,內循環控制比較次數
numbers = [1, 5, 4, 8, 6, 8, 7, 4, 9, 10, 9, 5]
count = len(numbers)
temp = 0
for i in range(1, count):# 這裡是控制外層循環,外循環循環幾次?11次,因為最後一次內循環的比較是,第一個數與第二個數比較
for j in range(count - i):
# 這裡是如何比較,內循環第一次遍歷,比較第一個數和第二個數,內循環第二次遍歷,比較第二個數和第三個數,第一次的j最大為10,否則索引越界
if numbers[j] > numbers[j + 1]:
temp = numbers[j]
numbers[j] = numbers[j + 1]
numbers[j + 1] = temp
print(numbers)
# [1, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, 10]

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved