Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert einen Bucket-Sortieralgorithmus

PHP implementiert einen Bucket-Sortieralgorithmus

jacklove
jackloveOriginal
2018-05-22 17:39:151634Durchsuche

In diesem Artikel wird erläutert, wie der Bucket-Sortieralgorithmus in PHP implementiert wird.

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 eine Schleife und legen Sie sie in den entsprechenden Bucket. Die Daten müssen im Bereich N liegen.

Schließlich 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 alle Elementwerte seien 0

Durchlaufen Sie dann das Array, das sortiert werden muss, z. B. 5,3,5,2,8 (Der Wertebereich beträgt hier tatsächlich nur 8)

Entspricht den Daten im $arr-Bucket Array wiederum, 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, wenn $arr[5]=2 Schleife gibt Element 5 zweimal aus.

Die Ergebnisausgabe ist 2 3 5 5 8

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

//Legen Sie das Standardarray fest, der Standardwert ist 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 ";
 
}
 
}
 
?>

In diesem Artikel wird der in PHP implementierte Bucket-Sortieralgorithmus erläutert. Weitere verwandte Inhalte finden Sie in PHP Chinesische Website.

Verwandte Empfehlungen:

thinkPHP5-Framework-Datenbankkohärenter Betrieb: Cache()-Nutzungsdetails

Mehrfachvererbung und Tarits der PHP-Schnittstelle Tutorial-Details zum Erzielen mehrerer Vererbungseffekte

PHP-Tutorial zum Ermitteln des Start- und Enddatums der Woche eines bestimmten Jahres

Das obige ist der detaillierte Inhalt vonPHP implementiert einen Bucket-Sortieralgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn