이 글은 주로 PHP 선택 정렬을 통해 배열 정렬을 구현하는 방법을 소개합니다. 선택 정렬의 원리와 구체적인 구현 단계를 예제로 분석합니다. 필요한 친구가 참고할 수 있습니다.
이 글은 PHP 선택을 분석합니다. 예제를 통한 정렬 배열 정렬 구현 방법 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
선택 정렬 방법의 기본 아이디어: 예를 들어 $arr = array(2,6,3,9)라는 배열이 있습니다. 큰 것부터 작은 것까지 정리했습니다.
첫 번째 큰 루프: 먼저 $arr[0]이 최대값이라고 가정한 다음 각각 $arr[1]~$arr[3]과 비교하여 더 크면 교환됩니다. 과정은 다음과 같습니다 ( 2,6,3,9)---2와 6의 비율--->(6,2,3,9)---6과 3의 비율---> (6,2,3,9) ---6과 9가 --->(9,2,3,6)보다 좋습니다. 여기의 아래첨자도 변경해야 합니다.
두 번째 큰 루프: $arr[1]이 가장 크다고 가정하고($arr[0]은 제외) 각각 $arr[2]~$arr[3]과 비교합니다(9, 2,3, 6)----2와 3의 비율---->(9,3,2,6)---3과 6의 비율--->(9,6,2,3) .
세 번째 큰 루프: $arr[2]가 가장 크다고 가정하고 이를 $arr[3]과 비교합니다. 프로세스는 다음과 같습니다(9,6,2,3)---2와 3의 비율-- ->(9 ,6,3,2)
마찬가지로 N-1개의 큰 루프 후에 배열할 수 있습니다
PHP 코드는 다음과 같습니다. 여기에도 함수가 포함되어 있습니다
<?php function selectSort(&$arr){ for($i=0;$i<count($arr);$i++){ $max = $arr[$i]; for($j=$i+1;$j<count($arr);$j++){ if($max<$arr[$j]){ $max = $arr[$j]; $arr[$j] = $arr[$i]; $arr[$i] = $max; } } } return $arr; } $myarr = array(2,6,3,9); selectSort($myarr); echo "<pre class="brush:php;toolbar:false">"; print_r($myarr); ?>
코드 분석:
첫 번째 루프:
$i=0 배열 (2,6,3,9)
$j=1, 2와 6의 비율을 실행하면 $arr[0]=6,$arr[1]이 됩니다. =2,$max =6 즉 (6,2,3,9)
$j=2, 3과 6 비율 실행: 실행하지 않음
$j=3, 9와 6 비율 실행: $arr[0이 됨 ]=9,$arr [3]=6,$max=9 즉 (9,2,3,6)
두 번째 큰 루프:
$i=1,$max=$arr[1]=2 , 배열 (9, 2,3,6)
$j=2, 3과 2의 비율을 실행하면 $arr[1]=3,$arr[2]=2,$max=3이 됩니다. 즉 , (9,3,2,6)
$j=3, 6과 3의 비율을 실행하면 $arr[1]=6, $arr[3]=3, $max=6이 됩니다. 이는 ( 9,6,2,3)
세 번째 루프:
$i=2, $max=$arr[2]=2, array (9,6,2,3)
$j=3, 실행 3과 2 비율: $max[2]= 3, $arr[3]=2, $max=3, 즉 (9,6,3,2)
요약: 위 내용은 전체 내용입니다. 이 글이 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 추천:
위 내용은 PHP 선택 정렬 원리 및 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!