Cet article présente principalement comment utiliser PHP pour implémenter divers algorithmes de tri, tels que le tri à bulles, le tri par échange, le tri par sélection, le tri par insertion et le tri rapide. Vous pouvez choisir différents algorithmes de tri en fonction de la situation réelle. L'efficacité fait également la différence. L’important est de comprendre d’abord l’algorithme, puis sa mise en œuvre sera une évidence. Les amis intéressés peuvent s'y référer, j'espère que cela sera utile à tout le monde.
Tri des bulles :
<?php function BubbleSort($arr){ $num = count($arr); for($i=1;$i<$num;$i++){ for($j=$num-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } ?>
Tri des échanges :
<?php function ExchangeSort($arr){ $num = count($arr); for($i=0;$i<$num-1;$i++){ for($j=$i+1;$j<$num;$j++){ if($arr[$j]<$arr[$i]){ $iTemp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } ?>
Tri par sélection :
<?php function SelectSort($arr){ $num = count($arr); for($i=0;$i<$num-1;$i++){ $iTemp = $arr[$i]; $iPos = $i; for($j=$i+1;$j<$num;$j++){ if($arr[$j]<$iTemp){ $iTemp = $arr[$j]; $iPos = $j; } } $arr[$iPos] = $arr[$i]; $arr[$i] = $iTemp; } return $arr; } ?>
Tri par insertion :
<?php function InsertSort($arr){ $num = count($arr); for($i=1;$i<$num;$i++){ $iTemp = $arr[$i]; $iPos = $i-1; while(($iPos>=0) && ($iTemp<$arr[$iPos])){ $arr[$iPos+1] = $arr[$iPos]; $iPos--; } $arr[$iPos+1] = $iTemp; } return $arr; } ?>
Tri rapide :
<?php function QuickSort($arr){ $num = count($arr); $l=$r=0; for($i=1;$i<$num;$i++){ if($arr[$i] < $arr[0]){ $left[] = $arr[$i]; $l++; }else{ $right[] = $arr[$i]; $r++; } } if($l > 1){ $left = QuickSort($left); } $new_arr = $left; $new_arr[] = $arr[0]; if($r > 1){ $right = QuickSort($right); } for($i=0;$i<$r;$i++){ $new_arr[] = $right[$i]; } return $new_arr; } $arr = array(7,1,6,5,2); $arr_new = QuickSort($arr); ?>
Recommandations associées :
Exemple d'algorithme de tri par insertion directe implémenté en Python
Six Algorithmes de tri JS couramment utilisés et comparaison
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!