php實現的冒泡演算法

2021-08-02 16:13:41 字數 1076 閱讀 2894

氣泡排序,英語為bubble sort,台灣翻譯為泡沫排序。時間複雜度為o(n^2),空間複雜度為o(1),屬於原地排序,是穩定的排序演算法。

以公升序為例,氣泡排序可以這樣描述:

1 比較相鄰的兩個元素,如果第乙個元素大於第二個元素,就交換他們

2 對每乙個相鄰元素進行互動,直到最後乙個。一趟下來,最大的元素就到了最後

3 針對所有的元素重複上面的操作,直到沒有元素可以交換

總結一下就是:交換相鄰元素,大數沉底

php**如下:

<?php 

function

bubble_sort($arr, $sort

= true)}}

return

$arr;

}$arr

= [1, 6, 8, 10, 2, 5, 7, 9, 1];

echo

"原始資料:

\n";

print_r($arr);

echo

"公升序後的資料:

\n";

print_r(bubble_sort($arr));

執行結果如下:

原始資料:

array

([0] => 1

[1] => 6

[2] => 8

[3] => 10

[4] => 2

[5] => 5

[6] => 7

[7] => 9

[8] => 1

)公升序後的資料:

array

([0] => 1

[1] => 1

[2] => 2

[3] => 5

[4] => 6

[5] => 7

[6] => 8

[7] => 9

[8] => 10)

引用部落格上的,更進一步說明演算法的步驟

引用一些維基百科(氣泡排序)上的,幫助進一步理解氣泡排序演算法的思想

php 實現冒泡演算法

氣泡排序的基本思想是 每次比較兩個相鄰的元素,如果它們的順序錯誤就把它們交換過來 例如我們需要將 12 35 99 18 76 這 5個數進行從大到小的排序。既然是從大到小排序,也就是說越小的越靠後,你是不是覺得我在說廢話,但是這句話很關鍵 首先比較第 1 位和第 2 位的大小,現在第 1 位是 1...

PHP 遞迴實現冒泡演算法

冒泡演算法 遞迴實現 function maopao array,index 0 index return maopao array,index return maopao array,index arr array 12,4,3,1,9,5,6,8,7 var dump maopao arr ar...

PHP 遞迴實現冒泡演算法

冒泡演算法 遞迴實現 function maopao array,index 0 index return maopao array,index return maopao array,index arr array 12,4,3,1,9,5,6,8,7 var dump maopao arr ar...