用自然語言描述,好比就是一群小朋友要求按從低到高排列,小朋友太小,蒼蠅似的亂躥,不知道站哪裡。老師就讓他們先隨便選一個位置,站一排再說。
然後老師指揮小朋友,第1、2個小朋友比比,如果第2個小朋友比第1小朋友矮,兩人交換位置;然後第2、3個小朋友比比,如果第3個小朋友比第2小朋友矮,兩人交換位置,直到最後。
這樣第一輪比較之後,最高的E排到了最後,而最矮的G像冒泡泡一樣,緩慢往前挪了一個。
第二輪又是兩兩比較換位,第二高的D排到了倒數第二位,最矮的G又緩慢地往前挪了挪。
後面的圖不用畫了吧?
我們再簡單描述下:n個數據比較大小,最後要按升序排列。
共分為n-1輪比較。第一輪n個數都要參與比較,每相鄰兩個數比大小,如果後面那個數較大,兩者就交換位置,一共要比較n-1次。這一輪比較完後,最大的數排到了最後,不再參與下一輪的比較。
第二輪有n-1個數參與比較,比較n-2次,比較完畢第二大的數排到了倒數第二位,不再參與後面的比較。
這樣每一輪都會減少一個數比較,比較的次數也會減少一次,然後篩選出本輪比較數中最大的數排到最後。
到最後一輪,只剩下排在最前面,且是最小的兩個數參與比較。
氣泡排序總是讓較大數較快地沉底歸位,最小數則像個氣泡一樣緩慢往上攀升。
用自然語言描述,好比就是一群小朋友要求按從低到高排列,小朋友太小,蒼蠅似的亂躥,不知道站哪裡。老師就讓他們先隨便選一個位置,站一排再說。
然後老師指揮小朋友,第1、2個小朋友比比,如果第2個小朋友比第1小朋友矮,兩人交換位置;然後第2、3個小朋友比比,如果第3個小朋友比第2小朋友矮,兩人交換位置,直到最後。
這樣第一輪比較之後,最高的E排到了最後,而最矮的G像冒泡泡一樣,緩慢往前挪了一個。
第二輪又是兩兩比較換位,第二高的D排到了倒數第二位,最矮的G又緩慢地往前挪了挪。
後面的圖不用畫了吧?
我們再簡單描述下:n個數據比較大小,最後要按升序排列。
共分為n-1輪比較。第一輪n個數都要參與比較,每相鄰兩個數比大小,如果後面那個數較大,兩者就交換位置,一共要比較n-1次。這一輪比較完後,最大的數排到了最後,不再參與下一輪的比較。
第二輪有n-1個數參與比較,比較n-2次,比較完畢第二大的數排到了倒數第二位,不再參與後面的比較。
這樣每一輪都會減少一個數比較,比較的次數也會減少一次,然後篩選出本輪比較數中最大的數排到最後。
到最後一輪,只剩下排在最前面,且是最小的兩個數參與比較。
氣泡排序總是讓較大數較快地沉底歸位,最小數則像個氣泡一樣緩慢往上攀升。