에티테마

php 선택 정렬 알고리즘

페이지 정보

작성자 소프트존 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 작성일 22-12-13 01:27

본문

선택 정렬 알고리즘은 주어진 리스트에서 원하는 순서대로 정렬하는 방법입니다. 이 알고리즘은 다음과 같은 과정을 반복하여 정렬을 수행합니다.


1.주어진 리스트에서 최솟값을 찾습니다.

2.최솟값을 맨 앞에 위치한 값과 교체합니다.

3.맨 앞의 위치를 뺀 나머지 리스트에서 1~2의 과정을 반복합니다.

function selectionSort($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len - 1; $i++) {
        $min = $i;
        for ($j = $i + 1; $j < $len; $j++) {
            if ($arr[$min] > $arr[$j]) {
                $min = $j;
            }
        }
        $tmp = $arr[$i];
        $arr[$i] = $arr[$min];
        $arr[$min] = $tmp;
    }
    return $arr;
}

$arr = array(5, 3, 8, 4, 9, 1, 6, 2, 7);

echo '<pre>';
print_r(selectionSort($arr));
echo '</pre>';

----- Output -----
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
 
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.