php 排序演算法

2021-10-25 08:20:41 字數 1076 閱讀 3573

function bubblesort($ numbers) }}

return $numbers;
num=array(20, 40, 60, 80, 30, 70, 90, 10, 50, 0);

var_dump(bubblesort($num));

演算法穩定性
氣泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,是不會再交換的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以氣泡排序是一種穩定排序演算法。

function selectionsort($arr)

', got 'eof' at end of input: … if (arr[$j] < arr

[arr[

arr[

minindex])

}$temp = arr

[arr[

arr[

i];arr

[arr[

arr[

i] = arr

[arr[

arr[

minindex];

a rr

[arr[

arr[

minindex] = $temp;

}return $arr;

}原理: 在一列數字中,選出最小數與第乙個位置的數交換。然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。(以下都是公升序排列,即從小到大排列)

function insert_sort($ arr) else }}

return $arr;

}$ arr = array(6, 19, 26, 62, 88, 99, 18, 16, 1);

var_dump(insert_sort($arr));

直接插入排序(insertion sort)的基本思想是:每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子串行中的適當位置,直到全部記錄插入完成為止。

php 快速排序演算法,PHP 快速排序演算法

概念 快速排序演算法是對冒泡演算法的乙個優化。他的思想是先對陣列進行分割,把大的元素數值放到乙個臨時陣列裡,把小的元素數值放到另乙個臨時陣列裡 這個分割的點可以是陣列中的任意乙個元素值,一般用第乙個元素,即 array 0 然後繼續把這兩個臨時陣列重複上面拆分,最後把小的陣列元素和大的陣列元素合併起...

PHP排序演算法

對於php中對陣列的元素進行排序,這個是很經常用到的,之前的專案中也有,而且對於幾種排序我們都是用的是asort arsort 等php原生函式,沒有自己去實現,所以就對一下的幾個函式進行總結,這個會不斷的進行補充,自己也可以好好的複習和總結。直接上 吧!插入排序 一維陣列 每次將乙個待排序的資料元...

PHP排序演算法

氣泡排序 function bubblesort arr return arr 交換法排序 function exchangesort arr return arr 選擇法排序 function selectsort arr 把當前值放到算好的位置 arr ipos arr i 把當前值換成算好的值...