欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2012年10月09日 19:47:26   作者:  
php排序算法代碼,包括冒泡排序與快速排序,需要的朋友可以參考下

冒泡排序?qū)崿F(xiàn)原理

① 首先將所有待排序的數(shù)字放入工作列表中。
② 從列表的第一個(gè)數(shù)字到倒數(shù)第二個(gè)數(shù)字,逐個(gè)檢查:若某一位上的數(shù)字大于他的下一位,則將它與它的下一位交換。

③ 重復(fù)步驟②,直至再也不能交換。

代碼實(shí)現(xiàn)

復(fù)制代碼 代碼如下:

<?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>';

快速排序?qū)崿F(xiàn)原理
采用分治的思想:先保證列表的前半部分都小于后半部分,然后分別對(duì)前半部分和后半部分排序,這樣整個(gè)列表就有序了。

代碼實(shí)現(xiàn)

復(fù)制代碼 代碼如下:

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>';

相關(guān)文章

最新評(píng)論