氣泡排序演算法 C 和PHP達到

2021-09-07 02:49:27 字數 1050 閱讀 8207

氣泡排序是小元素向前或向後的大要素。兩個相鄰元件之間的比較結果更。交換也這兩個元件之間發生。它是

最慢的排序演算法。

效率最低的演算法。

時間複雜度:

它是最差時間複雜度為:o(n^2),氣泡排序最好的

時間複雜度

為:o(n^2)

。平均時間複雜度為

:o(n^2)

演算法原理:

1. 比較相鄰的元素。假設第乙個比第二個大。就交換他們兩個。

2. 對每一對相鄰元素作相同的工作,從開始第一對到結尾的最後一對。

在這一點,最後的元素應該會是最大的數。

3. 針對全部的元素反覆以上的步驟,除了最後乙個。

4. 持續每次對越來越少的元素反覆上面的步驟,直到沒有不論什麼一對數字須要比較

演算法穩定性:

冒 泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。

所以。假設兩個元素相等,我想你是不會再無聊 地把他們倆交換一下的。假設兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以同樣元素的前後順序並沒有改變, 所以氣泡排序是一種穩定排序演算法。

php**:

<?php 

$n = 8;

$min = 1;

$max = 100;

$data = createdata($n, $min, $max);

echo "隨機生成陣列:";

print_r($data);

echo "

"; bubble_sort($data, $n);

//生成乙個隨機數組成的不反覆陣列

function createdata($n, $min, $max)

}k--;}}

執行結果:

php排序演算法 氣泡排序和快速排序

總是對這兩種排序特別迷糊,今天趁活不多,認真看了下,也算對自己有個交代吧 第一 氣泡排序 預設從小到大排序 若從小到大則第二個引數為true function bubbling sort arr,state false else return arr 上午寫了冒泡法,整體思路還是很清晰的,但是到快速...

PHP 氣泡排序演算法

演算法說明 氣泡排序大概的意思是依次比較相鄰的兩個數,然後根據大小做出排序,直至最後兩位數。由於在排序過程中總是小數往前放,大數往後放,相當於氣泡往上公升,所以稱作氣泡排序。但其實在實際過程中也可以根據自己需要反過來用,大樹往前放,小數往後放。示例 從小到大 說明 從大到小的話,就把if判斷那裡的大...

PHP氣泡排序演算法

基本概念 氣泡排序的基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1 個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複以上過程,仍從第一對數開始比較 因為可能由於第2個數和第3...