php 实现常用算法
2020-12-13 06:09
标签:style class blog c code java php 实现常用算法,搜素材,soscw.com php 实现常用算法 标签:style class blog c code java 原文地址:http://www.cnblogs.com/wuxinzhiyuan/p/3741868.html//冒泡排序 从小到大对一组数排序
function mp($array){
$count = count($array);
if ($count return false;
for($i=0; $i$count; $i++)
{
for($k=$count-1; $k>$i; $k--)
{
if($array[$k] $array[$k-1])
{
$tmp = $array[$k];
$array[$k] = $array[$k-1];
$array[$k-1] = $tmp;
}
}
echo $i,"
";
}
return $array;
}
print_r(mp(array(1,3,5,32,756,2,6,4)));
echo "
";
//插入排序 每次将一个待排序的数据元素插入到一个已经排好序的序列中。
function insert_sort($arr){
$count = count($arr);
for($i=1; $i$count; $i++){
$tmp = $arr[$i];
$j = $i - 1;
while($arr[$j] > $tmp){
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
$j--;
}
}
return $arr;
}
echo "
";
print_r(insert_sort(array(3,34,23,45,56,4,65,12))) ;
//http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){location.href=‘javascript:""‘})
//选择排序 每次从待排序的数据元素中选出最小或最大的那个元素,放在已经排好序的序列的后边
function select_sort($arr){
$count = count($arr);
for($i=0; $i$count; $i++){
$k = $i;
for($j=$i+1; $j$count; $j++){
if ($arr[$k] > $arr[$j])
$k = $j;
if ($k != $i){
$tmp = $arr[$i];
$arr[$i] = $arr[$k];
$arr[$k] = $tmp;
}
}
}
return $arr;
}
function selection_sort($array){
$count = count($array);
for ($i=0;$i$count-1;$i++) {
/* find the minest */
$min = $i; echo ‘$min-->‘.$array[$min].‘-->‘;
for ($j=$i+1;$j$count;$j++) { //由小到大排列
if ($array[$min]>$array[$j]) { //表明当前最小的还比当前的元素大
$min = $j; //赋值新的最小的
}
}
echo $array[$min].‘coco
‘;
/* swap $array[$i] and $array[$min] 即将当前内循环的最小元素放在$i位置上*/
if($min!=$i) {
$temp = $array[$min];
$array[$min] = $array[$i];
$array[$i] = $temp;
}
}
return $array;
}
echo "
";
print_r(select_sort(array(3,34,23,45,56,4,65,12,99)));
//快速排序
function quick_sort($array){
if (count($array) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $icount($array); $i++){
if ($array[$i] $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
上一篇:spring-base.xml