【Python 训练营】N_17 冒泡排序

简介: 【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))



相关文章
|
10天前
|
搜索推荐 算法 Python
Python教程:使用Python实现冒泡排序和快速排序
排序算法根据其实现原理和效率可以分为多种类型,包括冒泡排序、选择排序、插入排序、归并排序、快速排序等。这些算法在不同的场景下具有不同的优劣势,需要根据实际需求选择合适的算法。
23 3
|
24天前
|
Python
【Python 训练营】N_14 文件查找和替换
【Python 训练营】N_14 文件查找和替换
13 2
|
24天前
|
Python
【Python 训练营】N_13 遍历字符串
【Python 训练营】N_13 遍历字符串
16 2
|
24天前
|
Python
【Python 训练营】N_16 二分法查找
【Python 训练营】N_16 二分法查找
10 1
|
24天前
|
Python
【Python 训练营】N_15 列表元素去重
【Python 训练营】N_15 列表元素去重
15 1
|
24天前
|
Python
【Python 训练营】N_12 打印菱形图案
【Python 训练营】N_12 打印菱形图案
15 1
|
24天前
|
Python
【Python 训练营】N_11 模拟进度条
【Python 训练营】N_11 模拟进度条
10 1
|
24天前
|
Python
【Python 训练营】N_5 斐波那契数列
【Python 训练营】N_5 斐波那契数列
13 2
|
24天前
|
Python
【Python 训练营】N_7 打印水仙花数
【Python 训练营】N_7 打印水仙花数
15 1
|
1月前
|
搜索推荐 数据可视化 Python
Python应用实战,用动画生成冒泡排序的过程
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。