python初级(302) 7 列表(二)冒泡排序,,一、复习: 1、如何


一、复习:

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 arrmy_arr = [9, 7, 8, 4]print(my_arr)maopao(my_arr)print(my_arr)

三、课后作业

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

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

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

评论关闭