1. 问答
  2. 问答详情

二分法,冒泡排序算法php代码

二分法,冒泡排序算法php代码

冒泡排序

通过比较两个值得大小,然后把大的放在后面小的放在前面,然后再比较第三个数,再进行比较,小的放第二位,打的放第三位,依次下去直至最后一个数,所以在第一轮排序中,大的会不停的往后走,直至最大的那个值,并放到最后的那个位置。进行第一轮排序时已近找到最大值,并放在末尾。第一轮排序后,还有剩下的数据要排,所以还要排n-1轮。

1个回答

0

采纳
//快速排序
function quik_sort($arr) {
   if (count($arr) < 2) {
       return (array)$arr;
   }
   $base = $arr[0];
   $leftArr = array();
   $rightArr = array();
   for ($i=1, $len=count($arr); $i < $len; $i++) {
       if ($arr[$i] < $base) {
           $leftArr[] = $arr[$i];
       } else {
           $rightArr[] =  $arr[$i];
       }
   }
   $leftArr = quik_sort($leftArr);
   $rightArr = quik_sort($rightArr);
   return array_merge($leftArr, array($base), $rightArr);
}
//冒泡排序
function bubble_sort($arr) {
   $flag = true;
   $len = count($arr);
   while($flag) {
       $flag = false;
       for($i=0; $i<$len-1; $i++) {
           if ($arr[$i] > $arr[$i+1]) {
               //位置交换
               //把大的值给临时变量
               $tmp = $arr[$i];
               //后面的小值替换大值
               $arr[$i] = $arr[$i+1];
               //大值替换小值
               $arr[$i+1] = $tmp;
               $flag = true;
           }
       }
       $len--;
   }
   return $arr;
}


撰写答案

验证码
点击刷新