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

php使用遞歸與迭代實現(xiàn)快速排序示例

 更新時間:2014年01月23日 10:01:42   作者:  
這篇文章主要介紹了php使用遞歸與迭代實現(xiàn)快速排序的示例,大家參考使用吧

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

/**
 * 遞歸法實現(xiàn)的快速排序
 * @param $seq
 * @return array
 */
function quicksort($seq)
{
    if (count($seq) > 1) {
        $k = $seq[0];
        $x = array();
        $y = array();
        $_size = count($seq); //do not use count($seq) in loop for.
        for ($i = 1; $i < $_size; $i++) {
            if ($seq[$i] <= $k) {
                $x[] = $seq[$i];
            } else {
                $y[] = $seq[$i];
            }
        }
        $x = quicksort($x);
        $y = quicksort($y);
        return array_merge($x, array($k), $y);
    } else {
        return $seq;
    }
}

/**用迭代實現(xiàn)
 * @param $seq
 * @return array
 */
function quicksortX(&$seq)
{
    $stack = array($seq);
    $sort = array();
    while ($stack) {
        $arr = array_pop($stack);
        if(count($arr) <= 1){
            if (count($arr) == 1) {
                $sort[] = &$arr[0];
            }
            continue;
        }

        $k = $arr[0];
        $x = array();
        $y = array();
        $_size = count($arr);
        for ($i = 1; $i < $_size; $i++) {
            if ($arr[$i] <= $k) {
                $x[] = &$arr[$i];
            } else {
                $y[] = &$arr[$i];
            }
        }
        !empty($y) && array_push($stack, $y);
        array_push($stack, array($arr[0]));
        !empty($x) && array_push($stack, $x);
    }
    return $sort;
}
//$testArr = array(5545, 5, 6, 7675, 100, 9, 233, 566, 789, 456, 23, 55, 7, 4, 343, 564, 5, 45657, 8, 998, 9, 34, 34, 55, 6, 5, 6433, 67, 6, 6766, 4, 2, 42, 25634, 34343, 3, 3, 454, 4, 65, 6678, 57, 5455);
for($i=0;$i<20;$i++){
    $testArr[]=mt_rand(0,10000);
}
//var_dump($testArr);
echo count($testArr).'<br>';
$start=microtime();
echo count(quicksort($testArr)).'<br>';
echo microtime()-$start.'<br>';
var_dump(quicksort($testArr));
echo '------------------------------------------------------------------------<br>';
echo count($testArr).'<br>';
$start=microtime();
echo count(quicksortX($testArr)).'<br>';
echo microtime()-$start.'<br>';
var_dump(quicksortX($testArr));

相關(guān)文章

  • python實現(xiàn)黃金分割法的示例代碼

    python實現(xiàn)黃金分割法的示例代碼

    這篇文章主要介紹了python實現(xiàn)黃金分割法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python去除所有html標(biāo)簽的方法

    python去除所有html標(biāo)簽的方法

    這篇文章主要介紹了python去除所有html標(biāo)簽的方法,涉及Python正則替換的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下
    2015-05-05
  • Python開發(fā)實例分享bt種子爬蟲程序和種子解析

    Python開發(fā)實例分享bt種子爬蟲程序和種子解析

    最近親眼看到快播被大批警察包圍,感覺到快播注定要關(guān)閉很多東西,很多宅男宅女們又要寂寞了,于是乎,瘋狂的研究DHT網(wǎng)絡(luò)技術(shù)
    2014-05-05
  • Python爬蟲定時計劃任務(wù)的幾種常見方法(推薦)

    Python爬蟲定時計劃任務(wù)的幾種常見方法(推薦)

    這篇文章主要介紹了Python爬蟲定時計劃任務(wù)的幾種常見方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python實現(xiàn)的一個自動售飲料程序代碼分享

    Python實現(xiàn)的一個自動售飲料程序代碼分享

    這篇文章主要介紹了Python實現(xiàn)的一個自動售飲料程序代碼分享,就是用python實現(xiàn)的生活中一種投幣式自動售飲料機(jī)的內(nèi)部程序判斷代碼,需要的朋友可以參考下
    2014-08-08
  • django進(jìn)階之cookie和session的使用示例

    django進(jìn)階之cookie和session的使用示例

    這篇文章主要介紹了django進(jìn)階之cookie和session的使用示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python灰色預(yù)測法的具體使用

    python灰色預(yù)測法的具體使用

    灰色系統(tǒng)理論認(rèn)為對既含有已知信息又含有未知或非確定信息的系統(tǒng)進(jìn)行預(yù)測,本文就介紹了python灰色預(yù)測法的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2022-03-03
  • 基于Python實現(xiàn)復(fù)刻人生重開模擬器

    基于Python實現(xiàn)復(fù)刻人生重開模擬器

    人生重開模擬器是由VickScarlet上傳至GitHub的一款簡單的文字網(wǎng)頁游戲。本文將用Python復(fù)刻一下這個游戲,感興趣的小伙伴可以嘗試一下
    2022-10-10
  • python list的index()和find()的實現(xiàn)

    python list的index()和find()的實現(xiàn)

    這篇文章主要介紹了python list的index()和find()的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • tensorflow實現(xiàn)在函數(shù)中用tf.Print輸出中間值

    tensorflow實現(xiàn)在函數(shù)中用tf.Print輸出中間值

    今天小編就為大家分享一篇tensorflow實現(xiàn)在函數(shù)中用tf.Print輸出中間值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論