以 3,2,1,5,4 為例框住的兩個數就是被比較的兩個數,小數要在左邊,大數要到右邊去。
(1)【 3,2】,1,5,4
因為 3 > 2,所以 2 移動到 3 的左邊
(2)2,【 3,1】,5,4
因為 3 > 1, 所以 1 移動到 3 的左邊
(3)2,1,【 3,5】,4
因為 3 < 5,所以不需要移動
(4)2,1,3,【 5,4】
因為 5 > 4, 所以 4 移動到 5 的左邊
至此,第一輪比較已經結束,總共進行了4次比較。我們可以看到,現在的排序狀態是 [2,1,3,4,5
]。最大值 5 已經被成功地「運輸」到了最右邊,因此,我們只需要比較前面的四個數,找出第二個最大值,並將其「運輸」到倒數第二個位置。
紅色的數字代表已經被固定
(1)【2,1】,3,4,5
因為 2 > 1,所以 1 移動到 2 的左邊。
(2)1,【2,3】,4,5
不變。(3)1,2,【3,4】,5
不變。至此,第二輪比較結束,總共進行了 3 次比較。我們可以看到,現在的排序狀態是 [1,2,3,4
,5
]。4 在這個時候已經處於 倒數第二個位置。其實我們肉眼看上去已經排序完畢了,但是計算機是不會察覺的,它只知道,此時倒數第二個數一定是第二大的,因此我們的氣泡排序還是要繼續進行。
(1)【1,2】,3,4
,5
不變。(2)1,【2,3】,4
,5
不變。至此,第三輪比較結束,總共進行了 2 次比較。我們可以看到,現在的排序狀態是 [1,2,3
,4
,5
]。倒數第三個數成為第三大數值。
(1)【1,2】,3
,4
,5
不變。至此,第四輪比較結束,總共進行了 1 次比較。此時數列的狀態是 [1,2
,3
,4
,5
] ,除了第乙個數外的其它數值都固定住了,顯然第乙個數就是最小的那個數了。因此,我們的氣泡排序就到此結束了。
待補充
爬蟲方式總結(待補充)
這種情況下,頁面沒有ajax請求。我們只需要拿到返回的頁面用正則匹配找到我們需要的部分就好了。需要注意的是 匹配的時候最好匹配某個電影的全部資訊 都包在乙個盒子裡,匹配這個盒子 不要每次匹配電影的某一項 比如第一次全文搜尋目的是拿到所有的主演,findall後是個列表 actor list 第二次全...
排序演算法 筆記 有待補充
常用排序演算法對比 一 內部排序 指待排序記錄存放在計算機隨機儲存器中進行的排序過程 二 外部排序 指待排序記錄的數量很大,以致記憶體一次不能容納全部記錄,在排序過程中尚需對外存進行訪問的排序過程 三 排序方法穩定和不穩定 四 內部排序常用方法 1.插入排序 1 直接插入排序 基本思想 假設待排序的...
指標 待補充
將位址視為指定的量,將值視為派生量。指標 一種特殊型別的變數 用於儲存值的位址。指標名表示的是位址,運算子被稱為間接值或解除引用運算子,將其應用於指標,可以得到該位址處儲存的值。例,假設manly是乙個指標,manly表示的是乙個位址,manly表示儲存在該位址處的值。宣告和初始化 運算子兩遍的空格...