PHP兑现各种排序

Jun 13, 2016 pm 01:16 PM
amp list temp

PHP实现各种排序

<?php /**
 * 各种排序
 * @author zhaojaingwei
 * @since 2011/11/21 16:14
 *
 */

$list = array(3,5,1,2,10,8,15,19,20);

//快排
function fast(&$list, $low, $high){
    if($high - $low > 5){
        while($low  $temp){
            $high --;
        }

        $list[$low] = $list[$high];

        while($low  0; $i --){
        swap($list, $i, 0);
        heapfy($list, 0, $i - 1); 
    }
}

//创建堆
function buildHeap(&amp;$list){
    for($i = (count($list) - 2)/2; $i &gt;= 0; $i --){
         heapfy($list, $i, count($list) - 1);  
    }
}

//维护堆
function heapfy(&amp;$list, $low, $high){
    $temp = $list[$low];

    for($i = ($low * 2 + 1); $i = 1){
        for($i = $code; $i = 0 &amp;&amp; $list[$j] &gt; $temp; $j -= $code){
                    $list[$j + $code] = $list[$j];
                    $a ++; 
                }
                $list[$j + $code] = $temp;
            }
        }

        $code = $code/3;
    }

    echo $a;
}

//直接插入排序
function insert(&amp;$list){
    $a = 0;
    for($i = 1; $i  $temp; $j --){
                $a ++;
                $list[$j + 1] = $list[$j]; 
            }
            
            $list[$j + 1] = $temp;
        }
    }

    echo $a;
}

//简单选择排序
function select(&amp;$list){
    $a = 0;
    for($i = 0; $i = $i; $j --){
            $a ++;
            if($list[$j] &gt; $list[$j + 1]){
                $swap = TRUE;
                swap($list, $j, $j + 1);
            }
        }
    }
    echo $a;
}

//移动或交换函数
function swap(&amp;$list, $i, $j){
    $temp = $list[$i];
    $list[$i] = $list[$j];
    $list[$j] = $temp;
}

?&gt;
Salin selepas log masuk
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ajar anda cara mengubah suai lokasi fail sementara Win7 Ajar anda cara mengubah suai lokasi fail sementara Win7 Jan 04, 2024 pm 11:25 PM

Ajar anda cara mengubah suai lokasi fail sementara Win7

Bagaimana untuk melaksanakan operasi Senarai Redis dalam php Bagaimana untuk melaksanakan operasi Senarai Redis dalam php May 26, 2023 am 11:51 AM

Bagaimana untuk melaksanakan operasi Senarai Redis dalam php

Apakah maksud temp dalam komputer? Apakah maksud temp dalam komputer? Sep 29, 2021 pm 04:39 PM

Apakah maksud temp dalam komputer?

Ralat dalaman: Tidak dapat mencipta direktori sementara [Diselesaikan] Ralat dalaman: Tidak dapat mencipta direktori sementara [Diselesaikan] Apr 17, 2023 pm 03:04 PM

Ralat dalaman: Tidak dapat mencipta direktori sementara [Diselesaikan]

Cara Membetulkan Ralat Perjalanan Terma Pemproses dalam Windows 11/10 [Betulkan] Cara Membetulkan Ralat Perjalanan Terma Pemproses dalam Windows 11/10 [Betulkan] Apr 17, 2023 am 08:13 AM

Cara Membetulkan Ralat Perjalanan Terma Pemproses dalam Windows 11/10 [Betulkan]

temp是什么文件 temp是什么文件 Jan 05, 2021 am 10:43 AM

temp是什么文件

Bagaimana untuk menukar JSONArray ke Senarai di Jawa Bagaimana untuk menukar JSONArray ke Senarai di Jawa May 04, 2023 pm 05:25 PM

Bagaimana untuk menukar JSONArray ke Senarai di Jawa

Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C# Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C# Nov 17, 2023 am 10:58 AM

Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C#

See all articles