>  기사  >  백엔드 개발  >  PHP 배열을 위한 사용자 정의 정렬 알고리즘 작성 가이드

PHP 배열을 위한 사용자 정의 정렬 알고리즘 작성 가이드

WBOY
WBOY원래의
2024-04-27 18:12:01514검색

사용자 정의 PHP 배열 정렬 알고리즘을 작성하는 방법은 무엇입니까? 버블 정렬: 인접한 요소를 비교하고 교환하여 배열을 정렬합니다. 선택 정렬: 매번 가장 작거나 가장 큰 요소를 선택하고 현재 위치와 바꿉니다. 삽입 정렬: 순서가 지정된 부품에 요소를 하나씩 삽입합니다.

PHP 数组自定义排序算法的编写指南

PHP 배열용 사용자 정의 정렬 알고리즘 작성 가이드

소개
배열 정렬은 특정 기준에 따라 배열의 요소를 재구성할 수 있는 프로그래밍의 일반적인 작업입니다. PHP는 다양한 내장 정렬 알고리즘을 제공하지만 때로는 사용자 정의 논리를 기반으로 배열을 정렬해야 하므로 자체 사용자 정의 정렬 알고리즘을 작성해야 합니다.

버블 정렬
버블 정렬은 인접한 요소를 반복적으로 비교하고 위치를 교환하여 배열을 정렬하는 간단한 정렬 알고리즘입니다.

function bubbleSort(array &$arr) {
    $n = count($arr);
    for ($i = 0; $i < $n - 1; $i++) {
        for ($j = 0; $j < $n - $i - 1; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $tmp;
            }
        }
    }
}

선택 정렬
선택 정렬은 가장 작거나 큰 요소를 선택하여 현재 위치와 교환하는 정렬 알고리즘입니다.

function selectionSort(array &$arr) {
    $n = count($arr);
    for ($i = 0; $i < $n - 1; $i++) {
        $min_idx = $i;
        for ($j = $i + 1; $j < $n; $j++) {
            if ($arr[$j] < $arr[$min_idx]) {
                $min_idx = $j;
            }
        }

        $tmp = $arr[$i];
        $arr[$i] = $arr[$min_idx];
        $arr[$min_idx] = $tmp;
    }
}

삽입 정렬
삽입 정렬은 순서가 지정된 부분에 요소를 하나씩 삽입하는 정렬 알고리즘입니다.

function insertionSort(array &$arr) {
    $n = count($arr);
    for ($i = 1; $i < $n; $i++) {
        $key = $arr[$i];
        $j = $i - 1;

        while ($j >= 0 && $arr[$j] > $key) {
            $arr[$j + 1] = $arr[$j];
            $j--;
        }

        $arr[$j + 1] = $key;
    }
}

실용 사례
버블 정렬 알고리즘을 사용하여 다음 PHP 배열을 오름차순으로 정렬해 보겠습니다.

$arr = [5, 2, 8, 3, 1];

버블 정렬 함수 호출:

bubbleSort($arr);

정렬된 배열:

[1, 2, 3, 5, 8]

위 내용은 PHP 배열을 위한 사용자 정의 정렬 알고리즘 작성 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.