时间:2021-07-01 10:21:17 帮助过:5人阅读
冒泡排序:
<?php function BubbleSort($arr){ $num = count($arr); for($i=1;$i<$num;$i++){ for($j=$num-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } ?>
交换法排序:
<?php function ExchangeSort($arr){ $num = count($arr); for($i=0;$i<$num-1;$i++){ for($j=$i+1;$j<$num;$j++){ if($arr[$j]<$arr[$i]){ $iTemp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } ?>
选择法排序:
<?php function SelectSort($arr){ $num = count($arr); for($i=0;$i<$num-1;$i++){ $iTemp = $arr[$i]; $iPos = $i; for($j=$i+1;$j<$num;$j++){ if($arr[$j]<$iTemp){ $iTemp = $arr[$j]; $iPos = $j; } } $arr[$iPos] = $arr[$i]; $arr[$i] = $iTemp; } return $arr; } ?>
插入法排序:
<?php function InsertSort($arr){ $num = count($arr); for($i=1;$i<$num;$i++){ $iTemp = $arr[$i]; $iPos = $i-1; while(($iPos>=0) && ($iTemp<$arr[$iPos])){ $arr[$iPos+1] = $arr[$iPos]; $iPos--; } $arr[$iPos+1] = $iTemp; } return $arr; } ?>
快速排序 :
<?php function QuickSort($arr){ $num = count($arr); $l=$r=0; for($i=1;$i<$num;$i++){ if($arr[$i] < $arr[0]){ $left[] = $arr[$i]; $l++; }else{ $right[] = $arr[$i]; $r++; } } if($l > 1){ $left = QuickSort($left); } $new_arr = $left; $new_arr[] = $arr[0]; if($r > 1){ $right = QuickSort($right); } for($i=0;$i<$r;$i++){ $new_arr[] = $right[$i]; } return $new_arr; } $arr = array(7,1,6,5,2); $arr_new = QuickSort($arr); ?>
相关推荐:
Python实现的直接插入排序算法示例
常用的6大JS排序算法与比较
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
以上就是如何用php实现各种排序算法的详细内容,更多请关注Gxl网其它相关文章!