Heim >Backend-Entwicklung >PHP-Tutorial >Teilen Sie einige Array-Sortiermethoden in PHP
A. Interne Sortierung (zum Sortieren direkt in den Speicher geladen): einschließlich Austauschsortierung (Blasen- und Schnellsortierung), selektive Sortierung, Einfügungssortierung
Externe Sortierung (aufgrund der großen Datenmenge erforderlich). Externer Speicher zum Sortieren): einschließlich Zusammenführungssortierung, direkte Zusammenführungssortierung
[Blasensortierung: Vergleichen Sie die Sortiercodes benachbarter Elemente der Reihe nach. Wenn die umgekehrte Reihenfolge gefunden wird, tauschen Sie sie aus Runde ist vorbei, komm noch einmal Eine Runde, bis alle benachbarten Zahlen in umgekehrter Reihenfolge sind, das heißt, sie sind in der richtigen Reihenfolge angeordnet]
Kopieren Sie den Code. Der Code lautet wie folgt:
function maoPao($arr,$style )//[Der Wert wird standardmäßig übergeben, nicht die Adresse. Wenn Sie ein & vor $arr hinzufügen, zeigt es auf dieselbe Adresse wie $arr1, und $arr1 außerhalb der Funktion wird ebenfalls angeordnet]
{
$temp=0;
$flag=false for($i=0;$i
for($j=0;$j
if($style=='bts') $op=$arr[$j]<$arr[$j+1]; ='stb') $op=$arr[$j]>$arr[$j+1];
if($op)
{
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
$flag=true;
if($flag==false)
{
break;//Wenn eine horizontale Schleife herunterkommt, bedeutet das, dass die if-Bedingung nicht jedes Mal erfüllt ist, wenn die benachbarten Elemente verglichen werden die vertikale Schleife. Das heißt, sie wurde von klein nach groß angeordnet und es besteht keine Notwendigkeit, eine horizontale Schleife durchzuführen
}
}
foreach ($arr as $key => $value)
{
echo $value.',' ;
}
}
$arr1=array(101,101,-9,-8,0,76,1,57,43,90,23 ,-56);
maoPao($arr1 ,'stb');//klein nach groß
[Auswahlsortierung: Die zweite bis n-te Zahl werden jeweils mit der ersten Zahl verglichen und ausgetauscht, und die dritte bis n-te Zahl werden verglichen. Vergleichen Sie jeweils mit der zweiten Zahl und tauschen Sie sie aus, bis die Anordnung vollständig ist.]
Kopieren Sie den Code. Der Code lautet wie folgt:
Funktion selectSort($arr,$style)
{
$temp=0;
$flag=false;
for($i=0;$i
for ($j=$i+1;$j
if($style=='bts') $op=$arr[$i]<$ arr[$j];
else if($ style=='stb') $op=$arr[$i]>$arr[$j];
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp; ;
}
}
if ($flag==false)
{
break
}
foreach ($arr as $key => $value)
{
echo $value .','; );
selectSort($arr1,'stb' );
Code kopieren Der Code lautet wie folgt:
function selectSort($arr,$style)
{
$temp =0;
$flag=false;
for( $i=0;$i
for($j=$i+ 1;$j
if($style=='bts') $op=$arr[$i]<$arr[$j]
else if($style=='stb') $op= $arr[$i]>$arr[$j];
if($op)
{
$temp=$ arr[$i];
$arr[$i]= $arr[$j];
$arr[$j]=$temp; >}
if($flag==false)
{
break;
}
}
foreach ($arr as $key => $value)
{
echo $value.',';
}
}
$arr1=array(21.5,33,90,7,-4,5,55,11); $arr1,'stb');
echo "
";