$arr=array(5,9,13,0,-1);
//冒泡排序法
function test1(&$arr){
$count=count($arr);
for ($i=0;$i<$count-1;$i++){
for($j=0;$j<$count-$i-1;$j++){
if($arr[$j+1]<$arr[$j]){
$temp =$arr[$j+1];
$arr[$j+1]=$arr[$j];
$arr[$j]=$temp;
$flag++;
}
}
}
}
//选择排序法
function test2(&$arr){
$count=count($arr);
for ($i=0;$i<$count-1;$i++){
for($j=$i+1;$j<$count;$j++){
$temp =$arr[$i];
if($arr[$i]>$arr[$j]){
$arr[$i]=$arr[$j];
$arr[$j]=$temp;
$flag++;
}
}
}
}
//插入排序法
function test3(&$arr){
$arr=array(5,9,13,0,-1);
for ($i=1;$i<count($arr);$i++){
$currValue=$arr[$i];
$insertIndex=$i-1;
while($insertIndex>=0 && $currValue<$arr[$insertIndex]){
$arr[$insertIndex+1]=$arr[$insertIndex];
$insertIndex--;
}
$arr[$insertIndex+1]=$currValue;
}
}
//快速排序法
function test4($left,$right,&$arr){
$l=$left;
$r=$right;
$pivot=$arr[($left+$right)/2];
$temp=0;
while($l<$r){
while($arr[$l]<$pivot)$l++;
while ($arr[$r]>$pivot)$r--;
if($l>=$r)break;
$temp=$arr[$l];
$arr[$l]=$arr[$r];
$arr[$r]=$temp;
if($arr[$l]==$pivot)--$r;
if($arr[$r]==$pivot)++$l;
}
if($l==$r){
$l++;
$r--;
}
if($left<$r)test4($left, $r, $arr);
if($right>$l)test4($l, $right, $arr);
}
数组排序(冒泡,比较,插入,快速)
最新推荐文章于 2024-07-16 09:28:46 发布