您的位置:首页 > 编程语言 > PHP开发

冒泡排序,选择排序,插入排序,快速排序(PHP)

2013-11-17 11:15 489 查看
//冒泡排序
function bubbleSort($arr){
for($i=0;$i<count($arr)-1;$i++){
for($j=0;$j<count($arr)-1-$i;$j++){
if($arr[$j]>$arr[$j+1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
return $arr;
}
//选择排序
function selectSort($arr){
for($i=0;$i<count($arr)-1;$i++){
$min=$arr[$i];
$key=$i;
for($j=$i+1;$j<count($arr);$j++){
if($min>$arr[$j]){
$min=$arr[$j];
$key=$j;
}
}
$arr[$key]=$arr[$i];
$arr[$i]=$min;
}
return $arr;
}
//插入排序
function insertSort($arr){
for($i=1;$i<count($arr);$i++){
$key=$i-1;
while($key>=0&&$val<$arr[$key]){
$arr[$key+1]=$arr[$key];
$key--;
}
if(($key+1)!=$i)
$arr[$key+1]=$val;
}
return $arr;
}
//思路很特别的一种快速排序。
function quickSort($arr) {
if (count($arr) > 1) {
$k = $arr[0];
$x = array();
$y = array();
$_size = count($arr);
for ($i=1; $i<$_size; $i++) {
if ($arr[$i] <= $k) {
$x[] = $arr[$i];
} else {
$y[] = $arr[$i];
}
}
$x = quickSort($x);
$y = quickSort($y);
return array_merge($x, array($k), $y);
} else {
return $arr;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐