Schnelle Sortierung durch PHP-Rekursionsmethode implementiert

墨辰丷
Freigeben: 2023-03-31 22:26:01
Original
3062 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich zwei Beispiele für schnelle Sortieralgorithmen in PHP vorgestellt. Dieser Artikel gibt direkt den Implementierungscode an, der mit der rekursiven Methode bzw. der iterativen Methode implementiert wird

Obwohl in PHP solche Webanwendungen entwickelt werden, legen wir nicht allzu viel Wert auf die Bedeutung der Sortierung, da PHP selbst bereits über leistungsstarke Sortierfunktionen wie sort() verfügt. In einigen wichtigen Fällen, z Gelegentlich möchte ich Sortieralgorithmen verwenden. Die Auswirkungen können nicht ignoriert werden. Hier stellen wir die rekursive Sortierung und die iterative Sortierung vor.

Rekursive Methode:

/**
* 递归法实现的快速排序
*/
function quicksort($seq)
{
    $k = $seq[0];
    $x = array();
    $y = array();
    for($i=1; $i< $_size; $i++) {
      if($seq[$i] <= $k) {
        $x[] = $seq[$i];
      } else {
        $y[] = $seq[$i];
      }
    }
    $x = quicksort($x);
    $y = quicksort($y);
    return array_merge($x, array($k), $y);
  } else {
    return $seq;
  }
}
Nach dem Login kopieren

Iterative Methode:

/**
* 迭代法的快速排序
*/
function quicksortx(&$seq)
{
  $stack = array($seq);
  $sort = array();
  while ($stack) {
    $arr = array_pop($stack);
    if(count($arr) <= 1) {
      if(count($arr) == 1) {
        $sort[] = &$arr[0];
      }
      continue;
    }
    $k = $arr[0];
    $x = array();
    $y = array();
    $_size = count($arr);
    for($i =1 ;$i < $_size; $i++) {
      if($arr[$i] <= $k) {
        $x[] = &$arr[$i];
      } else {
        $y[] = &$arr[$i];
      }
    }
    !empty($y) && array_push($stack, $y);
    array_push($stack, array($arr[0]));
    !empty($x) && array_push($stack, $x);
  }
  return $sort;
}
Nach dem Login kopieren

Verwendung:

/**
*产生一个随机数组
*/
for($i=0;$i<5;$i++){
  $testArr[]=mt_rand(0,100);
}
var_dump($testArr);
var_dump(quicksort($testArr));

var_dump(quicksortx($testArr));
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

PHP-Implementierung von Methoden zum Hochladen von Bildern auf Client- und Serverseite

PHP-Code-Implementierung zur Steuerung des Dateidownloads Geschwindigkeit

php verwendet ein Array, um das Dropdown-Listenfeld zu füllen

Das obige ist der detaillierte Inhalt vonSchnelle Sortierung durch PHP-Rekursionsmethode implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage