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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章