用PHP實現一些常見的排序演算法

2022-08-03 10:42:12 字數 948 閱讀 8260

1、氣泡排序:

兩兩相比,每迴圈一輪就不用再比較最後乙個元素了,因為最後乙個元素已經是最大或者最小。

function maopaosort ($list

) }

}return

$list

;}

2、選擇排序:

選定乙個作為基本值,剩下的和這個比較,然後調換位置。

function xuanzesort ($list

) }

if ($pos != $i

) }

return

$list

;}

3、快速排序:

原理就是拿出乙個標尺值,然後分為左右兩個陣列,分別對比

function kuaisusort ($list

)

$base = $list[0];//

選擇乙個比較值

$leftlist = $rightlist =;

for ($i = 1; $i

< $len; $i++)

else

}//遞迴分別再處理左右兩邊的陣列

$leftlist = kuaisusort($leftlist

);

$rightlist = kuaisusort($rightlist

);

return

array_merge($leftlist, [$base], $rightlist

);}

4、插入排序:

假設前面的數都是排好順序的,要把第n個數插入到有序裡

function charusort ($list) 

else}}

return

$list

;}

一些常見的排序演算法

為了便於說明,假設是公升序排列,降序容易以此推斷 1 選擇排序 查詢數列 含n個數 中的最大項並把它與最後一項交換,然後查詢數列前n 1項中的最大項,並把它與這n 1項的最後一項交換,以此類推。2 氣泡排序 比較相鄰的兩項資料,如果次序顛倒則交換之,最多需要比較n 1趟。第一趟結束,最大項已經到末尾...

一些常見的排序演算法

複雜度為n 2的排序 常見的有 插入排序 氣泡排序 選擇排序 地精排序,是插入排序的另一種寫法,可以只用乙個迴圈 public static int charu int ins else return ins public static int int in return in public sta...

php常見的一些基礎演算法

1.冒泡演算法 冒泡演算法是將乙個未排序的序列,從前往後對相鄰的兩個值依次進行對比和調整,大的值下沉,小的值上冒。arr array 12,45,23,25,14,9,5,46,56,98,57 function bsort arr return arr 2.選擇排序 選擇排序是在一組未排序的序列中...