【Python 训练营】N_17 冒泡排序

题目

列表L = [3,2,5,6,1,3,8,1,9],冒泡排序实现从小到大排列。

分析

冒泡排序的基本思想是从序列的第一个元素开始,依次比较相邻的两个元素,如果它们的顺序错误就交换它们的位置,直到整个序列有序为止。具体步骤如下:

  1. 比较相邻的两个元素,如果前面的元素大于后面的元素,则交换它们的位置。
  2. 对每一对相邻元素都进行比较和交换,这样一轮下来,最大(或最小)的元素就会“冒泡”到序列的末尾。
  3. 对剩余的元素重复上述步骤,直到整个序列有序。

答案

def bubble_sort(lists):
    len_list=len(lists)
    for i in range(len_list):
        for j in range(len_list-i-1):
            if lists[j]>lists[j+1]:
                lists[j],lists[j+1]=lists[j+1],lists[j]
        # print(lists)
    return lists

L = [3,2,5,6,1,3,8,1,9]
print( bubble_sort(L))

你可能感兴趣的:(Python,训练营,python,算法,排序算法)