首頁 >後端開發 >php教程 >php冒泡排序與快速排序的例子

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

WBOY
WBOY原創
2016-07-25 09:03:29976瀏覽
  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 '

    ';</li>
    <li>print_r(bubbingSort(array(1,4,22,5,7,6,9)));</li>
    <li>print '
    ';
  18. ?>

复制代码

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

  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 '

    ';</li>
    <li>print_r(quickSort(array(1,4,22,5,7,6,9)));</li>
    <li>print '
    ';
  27. ?>

复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn