1.冒泡演算法
冒泡演算法是將乙個未排序的序列,從前往後對相鄰的兩個值依次進行對比和調整,大的值下沉,小的值上冒。
$arr = array(12,45,23,25,14,9,5,46,56,98,57);function bsort($arr
) }
}return
$arr
;}
2.選擇排序
選擇排序是在一組未排序的序列中選出最小的乙個數與第乙個位置資料交換,在剩下的序列中選出第二小的乙個數放在第二個位置,直到倒數第二個數字和倒數第乙個數字比較為止。
$arr = array(12,45,23,25,14,9,5,46,56,98,57);function selectsort($arr
)
if($mixm!=$i
) }
}return
$arr
;}
3.插入排序
在要排序的一組陣列中,假如前面的數已經排序好順序的,現在要將第n個數插入到已經排序的陣列中,使得插入之後任然是有序的排序。如此迴圈,直到排好為止。
$arr = array(12,45,23,25,14,9,5,46,56,98,57);function insertsort($arr
)else}}
return
$arr
;}
4.快速排序
選擇乙個基準元素,通常選擇第乙個元素或者最後乙個元素。通過一趟掃瞄,將待排的序列分成兩個部分,一部分比基準元素小,另一部分比基準元素大,此時基準元素已經在其排好序列的正確位置,然後使用同樣的辦法遞迴的排序劃分的兩部分。
$arr = array(12,45,23,25,14,9,5,46,56,98,57);function quicksort($arr
)
$base=$arr[0];
$minarr=array
();
$maxarr=array
();
for($i=1;$i
<$len;$i++)
else
}$minarr=quicksort($minarr
);
$maxarr=quicksort($maxarr
);
return
array_merge($minarr,array($base),$maxarr
);}
常見的一些演算法
1.判斷乙個數是否為素數 質數 判斷乙個數是否為素數 method1 bool judgeprime int number std cout number return true 判斷乙個數是否為素數 method2 bool judgeprime2 int number std cout numb...
用PHP實現一些常見的排序演算法
1 氣泡排序 兩兩相比,每迴圈一輪就不用再比較最後乙個元素了,因為最後乙個元素已經是最大或者最小。function maopaosort list return list 2 選擇排序 選定乙個作為基本值,剩下的和這個比較,然後調換位置。function xuanzesort list if pos...
一些基礎演算法
1.字串的順序反向輸出和數值的引用傳遞 public class myclass public integer aaa integer i public static string reverse string s 2.數值排序 public class test int arry test tes...