Heim  >  Artikel  >  Backend-Entwicklung  >  Prinzip und Anwendung der Einfügesortiermethode in PHP

Prinzip und Anwendung der Einfügesortiermethode in PHP

墨辰丷
墨辰丷Original
2018-06-13 11:17:561779Durchsuche

Dieser Artikel stellt hauptsächlich die PHP-Einfügungssortierungsmethode zur Implementierung der Array-Sortierung vor. Er analysiert die Prinzipien und spezifischen Implementierungstechniken der Einfügungssortierungsmethode. Freunde in Not können sich auf diesen Artikel beziehen

Das Beispiel beschreibt, wie die Array-Sortierung mithilfe der PHP-Einfügungssortierung implementiert wird.

Die spezifische Analyse lautet wie folgt:

Die Grundidee der Einfügesortiermethode: Auch anhand eines Falls dargestellt, immer noch mit $arr = array(2,6,3,9) , sortiert von groß nach klein .

Implementierungsprinzip: Angenommen (nicht tatsächlich erstellt), dass es ein geordnetes Array $arr = array(2) gibt, verwenden Sie $arr[1]=6, um es zu vergleichen, wenn 6>2, um $arr [0] wird zurück an die Position $arr[1] verschoben und 6 wird an der Position $arr[0] eingefügt. Dann wird $arr[2]=3 mit $arr[1]=2, 3>2 verglichen, dann bewegt sich $arr[1]=2 weiter zur Position $arr[2], dem ursprünglichen $arr[3 ]=3 Fügen Sie es an der Position $arr[1] ein und fügen Sie dann 9 an der Schlussposition ein. Das Endergebnis ist (9,6,3,2). Eine Sortierung kann auch nach count($arr)-1 großen Schleifen erreicht werden.

Codemusteranalyse:

Die erste große Schleife: $[1] vs. $[0];

Die zweite große Schleife: $[2] vs. $[1 ] Verhältnis, das Verhältnis von $[1] und $[0];
Der dritte große Zyklus: das Verhältnis von $[3] und $[2], das Verhältnis von $[2] und $[1], das Verhältnis von $[1] und $[0]-Verhältnis;

PHP-Code verwendet Funktionskapselung, um die Verwendung von

<?php
function insertSort(&$arr){
 for($i=1;$i<count($arr);$i++){
 //$insertVal是准备插入的数
 for($j=$i;$j>0;$j--){
  if($arr[$j]>$arr[$j-1]){
  $insertVal = $arr[$j];
  $arr[$j] = $arr[$j-1];
  $arr[$j-1] = $insertVal;
  }
 }
 }
}
$myarr = array(2,6,3,9);
insertSort($myarr);
echo "<pre class="brush:php;toolbar:false">";
print_r($myarr);
?>

Code-Implementierungsanalyse zu erleichtern:

Erste große Schleife:

$i=1 array (2,6,3,9)

$j=1 Führe das Verhältnis von 6 und 2 aus: $arr[1]=2;$arr[0]=6 , get (6,2 ,3,9)

Zweite große Schleife:

$i=2 array (6,2,3,9)

$j=2 Ausführen 3 und 2 Verhältnis: Werden $arr[2]=2, $arr[1]=3, erhalten (6,3,2,9)
$j--,$j=1 Führen Sie $arr[1] aus und $arr[ 0] Verhältnis: Die Bedingung ist nicht erfüllt

Die dritte große Schleife:

$i=3 array (6,3,2,9)

$j=3 Führen Sie das Verhältnis 9 und 2 aus: Werden Sie $arr[3]=2,$arr[2]=9, erhalten Sie (6,3,9,2)
$j--,$j=2 Führen Sie das Verhältnis 9 aus und 3: werde $ arr[2]=3,$arr[1]=9, erhalte (6,9,3,2)
$j--,$j=1 Führe das Verhältnis von 9 und 6 aus: werde $arr[1] =5,$arr[0]=9, erhalte (9,6,3,2)

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels Ich hoffe, es kann jedem beim Lernen helfen.

Verwandte Empfehlungen:

So senden Sie E-Mails über das PHP-Operationsformular

PHP verwendet das Verifizierungsformular, um zu erkennen, ob das Feld leer ist

So fügen Sie in PHP jedem Absatz Leerzeichen hinzu

Das obige ist der detaillierte Inhalt vonPrinzip und Anwendung der Einfügesortiermethode in PHP. 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