php幾種常用的演算法

來源:互聯網
上載者:User

標籤:

<?php

// 選擇排序

function select_sort($arr)

{

    $count = count($arr);

    for ($i = 0; $i < $count; $i ++) {

        $k = $i;

        for ($j = $i + 1; $j < $count; $j ++) {

            if ($arr[$k] > $arr[$j])

                $k = $j;

            if ($k != $i) {

                $tmp = $arr[$i];

                $arr[$i] = $arr[$k];

                $arr[$k] = $tmp;

            }

        }

    }

    return $arr;

}

 

// 插入排序

function insert_sort($arr)

{

    $count = count($arr);

    for ($i = 1; $i < $count; $i ++) {

        $tmp = $arr[$i];

        $j = $i - 1;

        while ($arr[$j] > $tmp) {

            $arr[$j + 1] = $arr[$j];

            $arr[$j] = $tmp;

            $j;

        }

    }

    return $arr;

}

// 快速排序法

function quick($array)

{

    if (count($array) <= 1) {

        return $array;

    }

    $key = $array[0];

    $l = array();

    $r = array();

    for($i=1;$i {

        

        if ($array[$i] <= $key) {

            $l[] = $array[$i];

        } else {

            $r[] = $array[$i];

        }

    }

    

    $l = quick($l);

    $r = quick($r);

    return array_merge($l, array(

        $key

    ), $r);

}

 

//冒泡排序

function maopao($arr)

{

    $n = count($arr);

    for($j=0;$j<$n-1;$j++)

    {

        for($i=$j+1;$i<=$n-1;$i++) {

            if($arr[$j]>$arr[$i])

            {

                $t = $arr[$i];

                $arr[$i] = $arr[$j];

                $arr[$j]=$t;

            }

        }

    }

    return $arr;

}

php幾種常用的演算法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.