久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      一分鐘解決?PHP數(shù)組—快速排序如何運用?

      PHP中我們了解了那么多關于數(shù)組的知識,不知道你們對快速排序有多少了解,我相信很大一部分人會不知道這部分知識點,那么不急本篇文章就是帶領大家更深刻的去了解這個內容。

      快速排序:

      快遠排序(Quicksort)是對冒泡排序的一種改進。通過一-趟排序將要排序的數(shù)據(jù)分割成獨立的兩部分,其中-一部分的所有數(shù)據(jù)都批另外-部分的所有數(shù)據(jù)都要小,然后再按此方法對這兩部分數(shù)據(jù)分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數(shù)據(jù)變成有序列。

      設要排序的數(shù)組是…..N-1]首先任意選取一一個數(shù)據(jù)(通常選用數(shù)組的第一個數(shù))作為關鍵數(shù)據(jù),然后將所有比它小的數(shù)都放到它前面,所有比它大的數(shù)都放到它后面,這個過程稱為- -趟快速排序。值得注意的是,快速排序不是一-種穩(wěn)定的排序算法,也就是說,多個相同的值的相對位置也許會在算法結束時產生變動。

      我們以代碼為例:

      <?php //PHP數(shù)組排序:快速排序 $arr = array(1,6,3,4,9,2,7,8); //快速排序 function quick_sort($arr){ //遞歸出口 $len = count($arr); if($len <= 1) return $arr; //取出某個元素,然后將剩余的數(shù)組元素,分散到兩個不同的數(shù)組中 $left = $right = array(); for($i = 1;$i < $len;$i++){ //第一個元素作為比較元素 //比較:小的放left中,大的放right中 if($arr[$i] < $arr[0]){   $left[] = $arr[$i];   }else{     $right[] = $arr[$i]; } } if($arr[$i] < $arr[0]){   $left[] = $arr[$i];   }else{   $right[] = $arr[$i];   }   }   //合并三個“數(shù)”組.   return array_merge($left,(array)$arr[0],$right); }   echo '<pre>';   print_r(quick_sort($arr));

      運行結果如下:

      一分鐘解決?PHP數(shù)組—快速排序如何運用?

      //$left和$right數(shù)組元素沒有排好序:遞歸點

      $1eft = quick_ sort($1eft); $right = quick_ sort($right); .

      快速排序的算法是:

      1)從數(shù)組中選出一 -個元素(通常第一一個), 作為參照對象。。

      2)定義兩個數(shù)組,將目標數(shù)組中剩余的元素與參照元素挨個比較:小的放到-一個數(shù)組,大的放到另外-一個數(shù)組。

      3)第二步執(zhí)行完之后,前后的數(shù)組順序不確定,但是確定了自己的位置。

      4)將得到的小數(shù)組按照第 1到第3部重復操作(子問題)。

      5)回溯最小數(shù)組 (一個元素)。

      相關學習視頻分享:php視頻教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號