冒泡排序

<?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);

posted on 2016-03-11 22:46  晨曦年华  阅读(157)  评论(0编辑  收藏  举报