> 백엔드 개발 > PHP 튜토리얼 > 배열 정렬 예제 analyze_php 기술을 구현하는 PHP 선택 정렬 방법

배열 정렬 예제 analyze_php 기술을 구현하는 PHP 선택 정렬 방법

WBOY
풀어 주다: 2016-05-16 20:23:06
원래의
983명이 탐색했습니다.

이 기사에서는 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 코드는 다음과 같으며, 이 역시 함수로 캡슐화되어 있습니다

<&#63;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);
&#63;>
로그인 후 복사

코드 분석:

첫 번째 큰 사이클:

$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, 배열(9,6,2,3)

$j=3, 3과 2의 비율을 실행하면 $max[2]=3, $arr[3]=2, $max=3, 즉 (9,6,3,2)

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿