Pelaksanaan php quick sort

WBOY
Lepaskan: 2023-05-06 10:49:07
asal
724 orang telah melayarinya

Isih cepat ialah algoritma pengisihan biasa dan berjalan lebih pantas daripada algoritma pengisihan lain dalam kebanyakan kes, terutamanya untuk mengisih senario data berskala besar. Melaksanakan isihan pantas dalam PHP juga sangat mudah dan hanya memerlukan beberapa baris kod. Artikel ini akan memperkenalkan pelaksanaan jenis cepat dalam php.

Apakah itu isihan pantas

Isih cepat ialah algoritma pengisihan berdasarkan bahagi dan takluk, yang membahagikan urutan untuk diisih kepada beberapa urutan, dan setiap urutan diisih mengikut nilai penanda aras. Nilai asas boleh menjadi sebarang nombor, biasanya elemen pertama atau terakhir diambil, dan kemudian data dibahagikan kepada dua kumpulan, satu sisi lebih besar daripada nilai asas, dan sisi lain kurang daripada nilai asas. Dengan memanggil proses ini secara rekursif dan akhirnya menggabungkan urutan, urutan tertib boleh diperolehi.

Pelaksanaan isihan pantas PHP

Kodnya adalah seperti berikut:

function quickSort($arr)
{
    $length = count($arr);
    if ($length <= 1) {
        return $arr;
    }
    $left = $right = array();
    $pivot = $arr[0];
    for ($i = 1; $i < $length; $i++) {
        if ($arr[$i] < $pivot) {
            $left[] = $arr[$i];
        } else {
            $right[] = $arr[$i];
        }
    }
    return array_merge(quickSort($left), array($pivot), quickSort($right));
}
Salin selepas log masuk

Dalam kod di atas, $arr ialah tatasusunan yang hendak diisih, dan $kiri dan $kanan tatasusunan digunakan masing-masing Simpan nombor yang lebih kecil dan lebih besar daripada nilai asas $pivot ialah nilai asas Nombor dalam tatasusunan dibahagikan kepada dua kategori mengikut saiz melalui gelung.

Kerumitan masa isihan pantas ialah O(nlogn), dan ia juga sangat cekap dalam penggunaan sebenar.

Ringkasan

Isih cepat ialah algoritma pengisihan biasa berdasarkan bahagi dan takluk Dengan memilih nombor penanda aras, tatasusunan yang hendak diisih dibahagikan kepada dua urutan, dan urutan disusun secara rekursif. Akhirnya, kedua-dua urutan itu digabungkan menjadi urutan yang tersusun. Ia juga sangat mudah untuk melaksanakan pengisihan pantas dalam PHP Kod yang diberikan di atas adalah untuk rujukan Kerumitan masa bagi algoritma isihan cepat ialah O(nlogn) dan ia berfungsi dengan baik dalam penggunaan sebenar.

Atas ialah kandungan terperinci Pelaksanaan php quick sort. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan