> 일일 프로그램 > PHP 지식 > PHP에서 재귀 정렬을 구현하는 방법

PHP에서 재귀 정렬을 구현하는 방법

藏色散人
풀어 주다: 2018-12-14 09:51:02
원래의
6311명이 탐색했습니다.


이 글에서는 주로 소개합니다 PHP 재귀 정렬 PHP 재귀 알고리즘 의 세 가지 구현 방법.

PHP에서 재귀 정렬을 구현하는 방법

재귀 알고리즘은 모든 프로그래머에게 익숙할 것입니다. 왜냐하면 PHP 언어든 Java와 같은 다른 프로그래밍 언어든 재귀 개념은 대부분의 알고리즘의 핵심이기 때문입니다.

PHP 초보자에게는 재귀 알고리즘의 구현 원리가 이해하기 쉽지 않을 수 있습니다. 하지만 이 알고리즘의 원리를 이해하고 익히면 재귀 알고리즘을 유연하게 사용하여 무한 분류와 같은 프로그래밍의 다양한 기능을 구현할 수 있습니다. 재귀는 초보자가 가장 숙달해야 하는 기본 알고리즘 기술이기도 합니다.

그럼 재귀란 정확히 무엇인가요?

Recursion은 실제로 함수 자체가 직접 또는 간접적으로 자신을 호출하는 프로그래밍 방법입니다. 이는 반복 실행 방법으로도 이해될 수 있지만 이는 루프와 매우 유사합니다. 재귀적으로 호출되는 함수에는 종료 조건, 즉 반복 실행 과정에서 빠져나오는 조건이 있어야 하며, 그렇지 않으면 무한 루프가 됩니다.

아래에서는 구체적인 코드 예시를 통해 PHP 재귀 알고리즘 PHP 재귀 정렬 의 세 가지 구현 방법을 소개합니다.

방법 1: 정적 변수

<?php
function call(){
    static $i=1;
    echo  $i.&#39;<br>&#39;;
    $i++;
    if ($i<=10){
        call();
    }
}
call();
로그인 후 복사

이 방법에서는 주로 static을 사용하여 재귀 정렬을 구현하는 정적 변수를 정의합니다. 위와 같이 호출 메소드와 정적 변수 $i를 정의했는데, $i 변수에 판단을 추가하지 않고 직접 실행하게 되면 당연히 무한 루프가 발생하게 됩니다.

여기에 if 조건부 판단문을 추가합니다. 마지막으로 루프는 자신의 메소드를 호출하고 결과는 아래 그림과 같습니다. 재귀 정렬을 달성하기 위한 정적 변수가 달성됩니다.

PHP에서 재귀 정렬을 구현하는 방법

방법 2: 전역 변수


$i=1;
function call(){
    global $i;
    echo $i;
    $i++;
    if($i<=10){
        call();
    }
}
call();
로그인 후 복사

이 방법은 주로 전역 변수를 사용하여 PHP 재귀 정렬을 구현하는 전역 변수를 정의합니다. 위와 같이 먼저 $i 변수를 정의한 후 호출 메소드를 생성합니다. 이 메소드에서는 $i 를 전역 변수로 정의한 후 루프에서 자체 메소드를 호출한 최종 결과는 위와 같습니다. 결과:

12345678910
로그인 후 복사
#🎜🎜 #방법 3: 참조로 매개변수 전달

function call(&$i=1){
  echo $i.&#39;<br>&#39;;
  $i++;
  if($i<=10){
       call($i);
   }
}
call();
로그인 후 복사

이 방법을 사용하면 전달의 개념을 간략하게 이해할 수 있습니다. PHP의 참조: 함수가 인수 값을 수정할 수 있도록 함수에 대한 참조로 변수를 전달할 수 있습니다. 참조 매개변수를 사용하여 PHP 재귀 정렬을 구현하는 것은 가장 기본적이고 간단한 알고리즘입니다.

참고: 자체 메소드를 호출할 때 매개변수를 전달해야 합니다. 그렇지 않으면 오류가 보고됩니다. 위는 PHP 재귀 알고리즘, 즉 재귀 정렬의 세 가지 구현 방법입니다. 도움이 필요한 분들에게 도움이 되기를 바랍니다!

PHP에 대해 더 자세히 알고 싶다면 PHP 중국어 웹사이트

PHP 비디오 튜토리얼

을 따라가세요. 누구나 참고하고 배울 수 있습니다!


위 내용은 PHP에서 재귀 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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