이 글에서는 배열 정렬을 구현하기 위한 PHP 삽입 정렬 방법을 주로 소개합니다. 삽입 정렬 방법의 원리와 구체적인 구현 기술을 예제와 함께 분석합니다. 필요한 친구가 참고할 수 있습니다.
이 글에서는 예제가 포함된 PHP 삽입 정렬 방법 배열 정렬을 구현하는 방법.
구체적인 분석은 다음과 같습니다.
삽입 정렬 방법의 기본 아이디어: 여전히 $arr = array(2,6,3,9)를 사용하여 큰 것부터 정렬하는 경우로 설명됩니다. 작게.
구현 원칙: 순서가 지정된 배열 $arr = array(2)가 있다고 가정하고(실제로 생성되지 않음) $arr[1]=6을 사용하여 비교하고, 6>2인 경우 $arr[0 ]을 넣습니다. $arr[1] 위치로 이동하고 $arr[0] 위치에 6이 삽입됩니다. 그런 다음 $arr[2]=3은 $arr[1]=2, 3>2와 비교되고 $arr[1]=2는 계속해서 $arr[2] 위치로 이동합니다. 즉 원래 $arr[3 ]=3 $arr[1] 위치에 삽입한 후 계속해서 닫는 위치에 9를 삽입합니다. 최종 결과는 (9,6,3,2)입니다. 정렬은 count($arr)-1 큰 루프 후에도 수행될 수 있습니다.
코드 패턴 분석:
첫 번째 큰 루프: $[1] 대 $[0]의 비율
두 번째 큰 루프: $[2] 대 $[1], $[1] 대 $[ 0] 비율; ratio
세 번째 큰 루프: $[3] 및 $[2] ratio, $[2] 및 $[1] ratio, $[1] 및 $[0] ratio
PHP 코드 사용; 쉽게 사용할 수 있도록 캡슐화됨
<?php function insertSort(&$arr){ for($i=1;$i<count($arr);$i++){ //$insertVal是准备插入的数 for($j=$i;$j>0;$j--){ if($arr[$j]>$arr[$j-1]){ $insertVal = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $insertVal; } } } } $myarr = array(2,6,3,9); insertSort($myarr); echo "<pre class="brush:php;toolbar:false">"; print_r($myarr); ?>
코드 구현 분석:
첫 번째 큰 루프:
$i=1 배열(2,6,3,9)
$j=1 6과 2 비율 실행: $ arr[1]= 2;$arr[0]=6, get (6,2,3,9)
두 번째 큰 루프:
$i=2 배열 (6,2,3,9)
$j=2 3을 실행하고 2: $arr[2]=2, $arr[1]=3, get (6,3,2,9)
$j--,$j=1 arr[1] 및 $arr의 $ 비율 실행 [0]: 조건이 성립되지 않음
세 번째 큰 루프:
$i=3 Array (6,3,2,9)
$j=3 9와 2의 비율을 실행: 변경 $arr이 됩니다. [3]=2, $arr[2]=9, 그리고 우리는 (6,3,9,2)
$j--,$j=2를 얻습니다. 9와 3의 비율을 실행하면 $arr[가 됩니다. 2] =3,$arr[1]=9, get (6,9,3,2)
$j--,$j=1 9와 6의 비율을 실행하면 $arr[1]=5가 됩니다. ,$arr[ 0]=9, get (9,6,3,2)
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
관련 권장사항:
php는 확인 양식을 사용하여 필드가 비어 있는지 감지합니다.
위 내용은 PHP에서 삽입 정렬 방법의 원리와 응용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!