冒泡排序python
冒泡排序(Bubble Sort):列表相邻的数,如果前面的比后面的大,则交换这两个数。
代码实现:
def bubble_sort(li): # li为列表 for i in range(len(li)-1) # 只需列表长度减1趟,最后一趟已排好序 for j in range(len(li)-1-i): # 每趟排序好一个数 if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j]
代码优化:若列表已经排好序,即冒泡排序中的一趟没有发生交换,可以直接结束循环
def bubble_sort(li): # li为列表 for i in range(len(li)-1) # 只需列表长度减1趟,最后一趟已排好序 single = False for j in range(len(li)-1-i): # 每趟排序好一个数 if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] single = True # 发生了交换 if not single: # 无交换时退出循环 return

浙公网安备 33010602011771号