> 백엔드 개발 > PHP 튜토리얼 > 배열 정렬 example_php 기술을 구현하는 PHP 삽입 정렬 방법

배열 정렬 example_php 기술을 구현하는 PHP 삽입 정렬 방법

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

이 기사의 예에서는 PHP 삽입 정렬 방법을 사용하여 배열 정렬을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

삽입 정렬 방법의 기본 아이디어: 설명을 위해 사례도 사용하고 $arr = array(2,6,3,9)를 사용하여 큰 것부터 작은 것까지 정렬합니다.

구현 원칙: (실제로 생성하지 않고) 순서가 지정된 배열 $arr = array(2)가 있다고 가정하고 $arr[1]=6을 사용하여 이를 비교하고, 6>2인 경우 $arr[ 0]을 사용합니다. 그런 다음 $arr[1] 위치로 이동하고 6이 $arr[0] 위치에 삽입됩니다. 그런 다음 $arr[2]=3을 $arr[1]=2, 3>2와 비교한 다음 $arr[1]=2는 원래 $arr[인 $arr[2]의 위치로 계속 이동합니다. 3]=3 $arr[1] 위치에 삽입한 후 계속해서 닫는 위치에 9를 삽입합니다. 최종 결과는 (9,6,3,2)입니다. 정렬은 count($arr)-1 큰 루프 후에도 수행될 수 있습니다.

코드 패턴 분석:

첫 번째 큰 루프: $[1] 및 $[0] 비율
두 번째 큰 주기: $[2] 대 $[1], $[1] 대 $[0]
세 번째 큰 주기: $[3] 대 $[2], $[2] 대 $[1], $[1] 대 $[0]

PHP 코드는 사용 편의성을 위해 함수 캡슐화를 사용합니다

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

코드 구현 분석:

첫 번째 큰 사이클:

$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이 되고 (6,3,2,9)를 얻습니다.
$j--,$j=1 $arr[1] 및 $arr[0] 비율 실행: 조건이 참이 아닙니다

세 번째 주기:

$i=3 배열(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가 되고 (6,9,3,2)를 얻습니다.
$j--,$j=1 9와 6의 비율을 수행합니다. $arr[1]=5, $arr[0]=9가 되고 (9,6,3,2)를 얻습니다

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

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