선택 정렬은 목록을 통과할 때마다 한 번의 패스 교환만 수행하여 버블 정렬을 개선합니다. 간단히 말하면, 선택 정렬의 원리는 매번 정렬할 데이터 요소 중에서 가장 작은(또는 가장 큰) 요소를 선택하여 정렬할 모든 데이터 요소가 소진될 때까지 시퀀스의 시작 부분에 저장하는 것입니다. 선택 정렬은 불안정한 정렬 방법입니다.
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(', ',$my_array ); echo "\n排序后数组:\n"; echo implode(', ',selection_sort($my_array)). PHP_EOL;
출력:
原始数组: 3, 0, 2, 5, -1, 4, 1 排序后数组: -1, 0, 1, 2, 3, 4, 5
이 글은 PHP 선택 정렬의 구현 방법에 관한 것입니다. 필요한 친구들에게 도움이 되길 바랍니다!
위 내용은 PHP에서 선택 정렬을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!