python初级(302) 7 列表冒泡排序

Posted 永远的麦田

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python初级(302) 7 列表冒泡排序相关的知识,希望对你有一定的参考价值。

一、复习:

1、如何创建一个空列表,如何创建一个有数据的列表

2、列表可以包含的内容

3、从列表中获取元素和修改元素的方法

4、列表的分片

5、增加元素和删除元素

6、选择排序的算法:

一堆数据,每次找出最小的放入新数组,然后原数组中的数删除,直到原数组为空

 

二、冒泡排序

一堆数据,从左向右,每次比较相邻两个数,前一个比后一个大,就交换位置,然后继续比较,一直比较到最大的那个排到最后。然后再次遍历数组,这次最后那个已经排好了,所以只需要比到倒数第二个,以此类推

数据: arr = [9, 7, 8, 4]:

第一次大循环:

1 [7, 9, 8, 4]

2 [7, 8, 9, 4]

3 [7, 8, 4, 9]

第二次大循环:

1 [7, 8, 4, 9]

2 [7, 4, 8, 9]

第三次大循环:

[4, 7, 8, 9]

 

程序如下:

def maopao(arr):
    """
    冒泡排序
    """
    # arr = [9, 7, 8, 4]
    n = len(arr)
    for i in range(n-1):
        for j in range(n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr


my_arr = [9, 7, 8, 4]
print(my_arr)
maopao(my_arr)
print(my_arr)

 

三、课后作业

用冒泡排序将班级学生的数学成绩进行排序(从高到低排序)

95, 98, 97, 100, 80, 93, 99

以上是关于python初级(302) 7 列表冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

python初级(302) 8 列表(选择排序练习二)

python初级(302) 7 列表

python初级(302) 5 列表

python初级(302) 6 对象

python3写冒泡排序

Python之冒泡排序