1 <?php
2
3 $arr = array(5,2,6,1,0,3);
4
5 $len = count($arr);
6
7
8 /*/冒泡法排序写法
9 for($x=0;$x<$len-1;$x++){
10 for($y=0;$y<$len-$x-1;$y++){
11 if($arr[$y]<$arr[$y+1]){
12 $tmp = $arr[$y];
13 $arr[$y] = $arr[$y+1];
14 $arr[$y+1] = $tmp;
15 }
16 }
17 }
18 */
19
20
21 //选择排序
22 for($i=0;$i<$len-1;$i++){
23 for($j=$i+1;$j<$len;$j++){
24 if($arr[$i]>$arr[$j]){
25 $tmp = $arr[$i];
26 $arr[$i] = $arr[$j];
27 $arr[$j] = $tmp;
28 }
29 }
30 }
31
32
33
34
35 print_r($arr);
$arr = array(20,11,18,33,17,32,15,22,13,25,36,16,66);
function qSort($arr){
if(!is_array($arr) || empty($arr)) return array();
# 获取数组的长度
$len = count($arr);
# 如果数组中有一个元素,直接返回这个数组
if($len<=1) return $arr;
$key = $arr[0];
$left = array();
$right = array();
for($i=1;$i<$len;$i++){
if($arr[$i]<=$key){
$left[] = $arr[$i];
}else{
$right[] = $arr[$i];
}
}
$left = qSort($left);
$right = qSort($right);
return array_merge($left,array($key),$right);
}
echo '<pre>';
print_r(qSort($arr));