Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php冒泡排序与快速排序的例子

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

WBOY
WBOYasal
2016-07-25 09:03:29908semak imbas
  1. function bubbingSort(array $array)

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

    ';
  16. print_r(bubbingSort(array(1,4,22,5,7,6,9)));
  17. print '';
  18. ?>
复制代码

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

  1. function quickSort(array $array)

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

    ';
  24. print_r(quickSort(array(1,4,22,5,7,6,9)));
  25. print '';
  26. ?>
复制代码


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn