当前位置:Gxlcms > PHP教程 > php冒泡排序与快速排序的例子

php冒泡排序与快速排序的例子

时间:2021-07-01 10:21:17 帮助过:42人阅读

  1. function bubbingSort(array $array)

  2. {
  3. for($i=0, $len=count($array)-1; $i<$len; ++$i)
  4. {
  5. for($j=$len; $j>$i; --$j)
  6. {
  7. if($array[$j] < $array[$j-1])
  8. {
  9. $temp = $array[$j];
  10. $array[$j] = $array[$j-1];
  11. $array[$j-1] = $temp;
  12. }
  13. }
  14. }
  15. return $array;
  16. }

  17. print '

    ';
  18. print_r(bubbingSort(array(1,4,22,5,7,6,9)));
  19. print '
  20. ';
  21. ?>

快速排序实现原理 先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。

  1. function quickSort(array $array)

  2. {
  3. $len = count($array);
  4. if($len <= 1)
  5. {
  6. return $array;
  7. }
  8. $key = $array[0];
  9. $left = array();
  10. $right = array();
  11. for($i=1; $i<$len; ++$i)
  12. {
  13. if($array[$i] < $key)
  14. {
  15. $left[] = $array[$i];
  16. }
  17. else
  18. {
  19. $right[] = $array[$i];
  20. }
  21. }
  22. $left = quickSort($left);
  23. $right = quickSort($right);
  24. return array_merge($left, array($key), $right);
  25. }

  26. print '

    ';
  27. print_r(quickSort(array(1,4,22,5,7,6,9)));
  28. print '
  29. ';
  30. ?>

人气教程排行