标题 | php实例代码:各种排序的算法 |
范文 | //冒泡排序 function maopao_sort($demo){ $num = count($demo); for($i=0;$i<$num;$i++){ for($j=$num-1;$j>$i;$j--){ if($demo[$j]<$demo[$j-1]){ $temp = $demo[$j]; $demo[$j]=$demo[$j-1]; $demo[$j-1]= $temp; } } } return $demo; } //插入排序 function charu_sort($demo){ $num = count($demo); for($i=1;$i<$num;$i++){ $temp=$demo[$i]; $dqweizhi = $i-1;//记录当前位置 while(($dqweizhi>=0)&&($temp<$demo[$dqweizhi])){ $demo[$dqweizhi+1] = $demo[$dqweizhi]; $dqweizhi--; } $demo[$dqweizhi+1] = $temp; } return $demo; } //选择法排序 function select_sort($demo){ $num = count($demo); for($i=0;$i<$num-1;$i++){ $temp=$demo[$i]; $dqweizhi=$i; for($j=$i+1;$j<$num;$j++){ if($demo[$j]<$temp){ $temp=$demo[$j]; $dqweizhi=$j; } } $demo[$dqweizhi]=$demo[$i]; $demo[$i]=$temp; } return $demo; } //快速排序 function quick_sort($demo) { $num = count($demo); if($num<=1){ return $demo; } $key=$demo[0]; $left_array=array(); $right_array=array(); for($i=1;$i<$num;$i++){ if($demo[$i]<=$key){ $left_array[]=$demo[$i]; }else{ $right_array[]=$demo[$i]; } } $left_array =quick_sort($left_array); $right_array=quick_sort($right_array); return array_merge($left_array,array($key),$right_array); } $test = array('43','154','3','78','13','284','167','2','56','2234','121','57','345'); $sss = quick_sort($test); var_dump($sss); ?> |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。