氣泡排序演算法 1

2021-08-26 20:53:34 字數 842 閱讀 2397

氣泡排序是一種比較簡單的排序演算法,其本質是相鄰的兩個元素進行大小比較,最終使得所有的元素形成從小到大或者從大到小的排列

演算法原理

比較相鄰的元素,不相等,就進行交換

對所有的相鄰元素進行第1步的操作,第一輪比較下來,最大(小) 的元素排在了最尾部

最大(小),第二大(小),第三大(小)……的元素依次會排到元素的最尾部

當比較次數為1的時候,執行完第1步,所有比較結束

氣泡排序是一種穩定的排序演算法

**示例
<?php

function

bubbing_sort

(array $arr)}}

return

$arr ;

}$arr = [99,10,88,23,13,67];

var_dump(bubbing_sort($arr));

// output

/*array (size=6)

0 => int 10

1 => int 13

2 => int 23

3 => int 67

4 => int 88

5 => int 99*/

氣泡排序的核心是相鄰元素之間的兩兩比較,比較完一輪,還有元素沒有比較完,進入下一輪的比較,直到所有的元素都按照一定的順序呈現出來.

ps : 要是沒有直觀的感受,可以裁剪出幾個小紙片,每個小紙片上寫上數字(相當於乙個元素),將這些小紙片放在一塊按照氣泡排序實現思路進行比較.

排序演算法 1 氣泡排序

氣泡排序是非常容易理解和實現,以從小到大排序舉例 設陣列長度為n。1 比較相鄰的前後二個資料,如果前面資料大於後面的資料,就將二個資料交換。2 這樣對陣列的第0個資料到n 1個資料進行一次遍歷後,最大的乙個資料就 沉 到陣列第n 1個位置。3 n n 1,如果n不為0就重複前面二步,否則排序完成。冒...

排序演算法1 氣泡排序

氣泡排序 public class bubblesort int arr 交換變數 int temp 判斷上一次是否進行了排序,若上次沒有進行排序,證明排序已經提前完成,可提前跳出迴圈,結束排序 boolean flag false for int i 0 i arr.length 1 i if f...

排序演算法1 氣泡排序

1.什麼是氣泡排序 氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他 們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交 換慢慢 浮 ...