섹션11: 버블 정렬

이유정·2023년 9월 2일
0

보통 버블 정렬을 사용하지 않는다.
그래도 재밌어 ~

이해

오름차순 정렬을 할 때 더 큰 숫자가 한번에 하나씩 이동을 한다. !

왼쪽게 오른쪽거보다 크면 swap 한다

전체적으로 buble swap을 하면
가장 큰 값이 맨 오른쪽으로 가게 된다.

계속 반복하면 ?

이렇게 정ㄹ렬된다 !

기억할 점

  • 반복을 거듭함에 따라 정렬해야 하는 수가 적어진다.

js 교환방식 2개


위쪽거가 좋아 ~~ 증명된 신뢰다 !

버블정렬 의사코드

  • 반복문을 돌린다 (마지막 idx가 맨 앞으로 향할 때까지)
  • j 반복문을 i 이전까지 돌린다.
    (i는 정렬된 항목을 나타낸다)
  • j 인덱스가 j+1 보다 크면 swap 한다 !

구현

function BubbleSort(arr){
    for(let i=arr.length-1; i>=0; i--){
        for(let j=0; j<i; j++){
            console.log(arr, arr[j],arr[j+1])
            if(arr[j] > arr[j+1]){
                let temp = arr[j]; 
                arr[j] = arr[j+1]; 
                arr[j+1] = temp; 
            }
        }
    }
    return arr
}

이렇게 값이 정렬된다 !!
i는 정렬 완료한 뒷 부분 값을 건들지 않기 위함!
j는 반복문을 돌면서 swap 하려는 것 .

최적화

profile
팀에 기여하고, 개발자 생태계에 기여하는 엔지니어로

0개의 댓글