php 实例代码:各种排序的算法
发布时间:2020-12-13 20:51:24 所属栏目:PHP教程 来源:网络整理
导读:?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; } //插入排序 fun
<?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); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |