PHP에서 선택 정렬을 구현하는 방법은 무엇입니까?

藏色散人
풀어 주다: 2023-04-05 14:14:01
원래의
3088명이 탐색했습니다.

선택 정렬은 목록을 통과할 때마다 한 번의 패스 교환만 수행하여 버블 정렬을 개선합니다. 간단히 말하면, 선택 정렬의 원리는 매번 정렬할 데이터 요소 중에서 가장 작은(또는 가장 큰) 요소를 선택하여 정렬할 모든 데이터 요소가 소진될 때까지 시퀀스의 시작 부분에 저장하는 것입니다. 선택 정렬은 불안정한 정렬 방법입니다.

PHP에서 선택 정렬을 구현하는 방법은 무엇입니까?

PHP 선택 정렬의 코드 예제는 다음과 같습니다.

<?php

function selection_sort($data)
{
    for($i=0; $i<count($data)-1; $i++) {
        $min = $i;
        for($j=$i+1; $j<count($data); $j++) {
            if ($data[$j]<$data[$min]) {
                $min = $j;
            }
        }
        $data = swap_positions($data, $i, $min);
    }
    return $data;
}

function swap_positions($data1, $left, $right) {
    $backup_old_data_right_value = $data1[$right];
    $data1[$right] = $data1[$left];
    $data1[$left] = $backup_old_data_right_value;
    return $data1;
}
$my_array = array(3, 0, 2, 5, -1, 4, 1);
echo "原始数组:\n";
echo implode(&#39;, &#39;,$my_array );
echo "\n排序后数组:\n";
echo implode(&#39;, &#39;,selection_sort($my_array)). PHP_EOL;
로그인 후 복사

출력:

原始数组: 3, 0, 2, 5, -1, 4, 1 
排序后数组: -1, 0, 1, 2, 3, 4, 5
로그인 후 복사

이 글은 PHP 선택 정렬의 구현 방법에 관한 것입니다. 필요한 친구들에게 도움이 되길 바랍니다!

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

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