加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 各种排序算法实现代码

发布时间:2020-12-13 05:34:33 所属栏目:PHP教程 来源:网络整理
导读:div class="codetitle" a style="CURSOR: pointer" data="20069" class="copybut" id="copybut20069" onclick="doCopy('code20069')" 代码如下: div class="codebody" id="code20069" ?php // 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2

<div class="codetitle"><a style="CURSOR: pointer" data="20069" class="copybut" id="copybut20069" onclick="doCopy('code20069')"> 代码如下:<div class="codebody" id="code20069">
<?php
// 功能: PHP实现各种排序算法
// Author: windlike
// Datetime: 2007-06-09 // 冒泡排序
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;
} // 交换法排序
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;
} // 选择法排序
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;
} // 插入法排序
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;
} // 快速排序
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);
echo "

"; 
print_r($arr_new);
echo "
";
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读