源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php排序算法(冒泡排序,快速排序)

  • 时间:2021-04-03 12:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php排序算法(冒泡排序,快速排序)
冒泡排序实现原理 ① 首先将所有待排序的数字放入工作列表中。 ② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。 ③ 重复步骤②,直至再也不能交换。 代码实现
[u]复制代码[/u] 代码如下:
<?php  function bubbingSort(array $array)  {      for($i=0, $len=count($array)-1; $i<$len; ++$i)      {          for($j=$len; $j>$i; --$j)          {              if($array[$j] < $array[$j-1])              {                  $temp = $array[$j];                  $array[$j] = $array[$j-1];                  $array[$j-1] = $temp;              }          }      }      return $array;  }  print '<pre>';  print_r(bubbingSort(array(1,4,22,5,7,6,9)));  print '</pre>';
快速排序实现原理 采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。 代码实现
[u]复制代码[/u] 代码如下:
function quickSort(array $array)  {      $len = count($array);      if($len <= 1)      {          return $array;      }      $key = $array[0];      $left = array();      $right = array();      for($i=1; $i<$len; ++$i)      {          if($array[$i] < $key)          {              $left[] = $array[$i];          }          else          {              $right[] = $array[$i];          }      }      $left = quickSort($left);      $right = quickSort($right);      return array_merge($left, array($key), $right);  }  print '<pre>';  print_r(quickSort(array(1,4,22,5,7,6,9)));  print '</pre>';
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部