Heim  >  Artikel  >  Backend-Entwicklung  >  Bucket-Sortierung im einfachen Sinne (PHP-Implementierung)

Bucket-Sortierung im einfachen Sinne (PHP-Implementierung)

藏色散人
藏色散人nach vorne
2020-02-22 14:08:202440Durchsuche

Bucket-Sortierung im einfachen Sinne:

● Das Prinzip der Bucket-Sortierung besteht darin, zunächst N+1 Buckets als Container anzuordnen, wenn der Datenbereich N ist.

● Schleifen Sie dann die Testdaten (zu sortierende Daten) in einer Schleife ab und legen Sie sie in den entsprechenden Bucket. Die Daten müssen im Bereich N liegen.

● Zum Schluss schleifen Sie die Elemente im Bucket und geben sie aus, indem Sie sie von groß nach klein oder von klein nach groß sortieren.

Zum Beispiel:

● Unser Wertebereich ist 10, dann müssen wir ein Array $arr mit einer Länge von 11 definieren. Und lassen Sie alle Elementwerte ​​sein 0

● Dann durchlaufen Sie das Array, das sortiert werden muss, z. B. 5,3,5,2,8.

● Entsprechen Sie den Daten in $arr Bucket-Array der Reihe nach, das heißt, wenn es 5 ist, dann mache $arr[5]++.

● Zu diesem Zeitpunkt $arr[2]=1 $arr[3]=1 $arr[ 5]=2 $arr[8]=1

● Dann wird das Array von $arr[2]=1 durchlaufen, die Schleife gibt Element 2 einmal aus. =2, die Schleife gibt Element 5 zweimal aus

● Ergebnisausgabe Das ist 2 3 5 5 8

● Wenn der Schleifenwert von groß nach klein ist, wird er von groß sortiert zu klein

<?php
//设置默认数组,默认值为0;
$arr = array();
for ($i = 0; $i <= 10; $i++) {
    $arr[$i] = 0;
}
//设置测试的五个数据
$arr1 = array(5, 3, 5, 2, 8);
//根据数据 对默认数组的对应元素进行+1;  J的取值范围不能等于$arr1数组长度  
for ($j = 0; $j < count($arr1); $j++) {
    //这边给相应的数组值+1
    $arr[$arr1[$j]]++;
}
//开始循环输出  默认数组 $arr 里面相应的值
for ($k = 0; $k <= 10; $k++) {
    
    for ($l=1; $l <=$arr[$k]; $l++) { 
        echo "$k </n>";
    }
}
?>

Nachteile:

● Platzverschwendung.

● Gleitkommadaten können nicht sortiert werden.

Weitere Informationen Bei programmierbezogenen Inhalten beachten Sie bitte die Spalte Einführung in die Programmierung auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonBucket-Sortierung im einfachen Sinne (PHP-Implementierung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Teilen von PHP-TippsNächster Artikel:Teilen von PHP-Tipps