이 글에서는 주로 PHP를 사용하여 버블 정렬, 교환 정렬, 선택 정렬, 삽입 정렬, 퀵 정렬 등 다양한 정렬 알고리즘을 구현하는 방법을 소개합니다. 실제 상황에 따라 다양한 정렬 알고리즘을 선택할 수 있습니다. 효율성도 차이를 만듭니다. 중요한 것은 먼저 알고리즘을 이해한 다음 구현하는 것입니다. 관심 있는 친구들이 참고하면 좋을 것 같고, 모두에게 도움이 되길 바랍니다.
버블 정렬:
<?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; } ?>
교환 정렬:
<?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; } ?>
선택 정렬:
<?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; } ?>
삽입 정렬:
<?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; } ?>
빠른 정렬:
<?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); ?>
관련 권장 사항:
일반적으로 사용되는 6가지 JS 정렬 알고리즘 및 비교
PHP 4가지 정렬 알고리즘 구현 및 효율성 분석 [버블 정렬, 삽입 정렬, 선택 정렬 및 퀵 정렬]
위 내용은 PHP로 다양한 정렬 알고리즘을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!