冒泡排序
<?php
$a = array(12,6,45,8,34,9);
$n = count($a);
for($i=0;$i<$n-1;++$i){//用于控制比较的趟数
for($j=0;$j<$n-1-$i;++$j){ //用于控制比较的次数
if($a[$j]>$a[$j+1]){ //如果前一个大于后一个数 需要交换
$temp = $a[$j];
$a[$j] = $a[$j+1];
$a[$j+1] = $temp;
}
}
}
print_r($a);
选择排序
$b = array(12,18,8,33,45,11);
$n = count($b);
for($i=0;$i<$n-1;++$i){ //控制的趟数
$max = $b[0];//每一躺都取得第一个数据
$pos = 0;//并取得对应的下标
for($j=0;$j<$n-$i;$j++){
if($b[$j]>$max){
$max = $b[$j];
$pos = $j;
}
}
//只有上面的for循环结束 才能找到每一躺中的最大值及其下标 然后互换位置
$temp = $b[$pos];
$b[$pos] = $b[$n-$i-1];
$b[$n-$i-1] = $temp;
}
print_r($b);