Heim > Artikel > Backend-Entwicklung > Algorithmenideen und Code zur Implementierung der schnellen Sortierung in PHP
Der Inhalt dieses Artikels befasst sich mit den Algorithmusideen und dem Code für die schnelle Sortierung in PHP. Ich hoffe, dass er für Freunde hilfreich ist.
Kernidee: Teilen Sie es der Größe nach in zwei Teile auf, sortieren Sie sie rekursiv und schauen Sie vorwärts und rückwärts (Split-Funktion).
Der PHP-Code lautet wie folgt:
<?php function quickSort($arr){ $resultArr=qSort($arr,0,count($arr)-1); return $resultArr; } function qSort($arr,$low,$high){ if($low<$high){ //算出枢轴值 $partRes=partition($arr,$low,$high); $arr=$partRes["resultArr"]; $arr=qSort($arr,$low,$partRes["pivot"]-1);//对低子表递归排序 $arr=qSort($arr,$partRes["pivot"]+1,$high);//对高子表递归排序 } return $arr; } function partition($arr,$low,$high){ $pivotkey=$arr[$low]; //用子表的第一个记录作枢纽记录 while ($low<$high){ //从表的两端交替向中间扫描 while ($low<$high&&$arr[$high]>=$pivotkey){ $high--; } $arr=swap($arr,$low,$high);//将比枢轴记录小的记录交换到低端 while ($low$low,"resultArr"=>$arr);//返回枢轴所在位置 } function swap($arr,$index1,$index2){ $pivotkey=$arr[$index1]; $arr[$index1]=$arr[$index2]; $arr[$index2]=$pivotkey; return $arr; } $arr=array(9,1,3,2,6,7,4,8); $resultArr=quickSort($arr); echo implode(',',$resultArr);
Empfohlene verwandte Artikel:
PHP-Schnellsortierung, kleines Beispiel, PHP-Schnellsortierungsmethode
Das obige ist der detaillierte Inhalt vonAlgorithmenideen und Code zur Implementierung der schnellen Sortierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!