에티테마

php 버블 정렬 알고리즘

페이지 정보

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

본문

버블 정렬 알고리즘은 작은수,큰수를 비교하여 정렬하는 알고리즘입니다. 

이 알고리즘은 입력된 데이터를 기준으로 인접한 두 개의 항목을 비교하여 자리를 바꾸는 방법을 사용하여 정렬합니다. 

이 알고리즘은 정렬되지 않은 데이터 집합을 입력으로 받아 가장 작은 항목을 찾은 다음 

그 항목을 정렬된 집합의 맨 앞에 추가하는 과정을 반복하여 전체 데이터 집합을 정렬하는 방식입니다.


[5,2,4,7.8]

앞의 숫자 5가 뒤에 숫자 2와 비교하여 크기 순서대로 2가 앞으로 오고 5가 뒤로 갑니다.

[2,5,4,7.8]

또한 5 와 4를 비교하여 또다시 큰수가 뒤로 가고 작은 수가 앞으로 오는 방식 입니다.

아래 예를 보면 쉽게 이해가 가능합니다.


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

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

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

----- Output -----
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)


  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.