본문 바로가기
Computer Science/Algorithm, Data Structure

자바스크립트 알고리즘 버블 정렬(Bubble Sort)

by Write and Remember 2019. 6. 17.

 

버블 정렬(Bubble Sort)

 

배열의 두 수를 연속적으로 비교하여 위치를 바꾸어 정렬하고

 

시간 복잡도 O(n^2)인 알고리즘이다. 

 

[6, 5, 3] 을 예를 들면,

 

[5, 6, 3]

 

[5, 3, 6]

 

다시 처음부터 비교

 

[3, 5, 6]

 

function bubbleSort(arr, length = arr.length) {
  while (length) {
    for (let i = 0; i < arr.length; i++) {
      if (arr[i] > arr[i + 1]) {
        let swap = arr[i];
        arr[i] = arr[i + 1];
        arr[i + 1] = swap;
      }
    }
    length--;
  }

  return arr;
}

console.log(bubbleSort([5,2,3,6,8])) // [2, 3, 5, 6, 8]

 

오름차순으로 정렬하므로

 

두 요소를 비교 후

 

큰 수를 스왑하여 뒤로 보낸다.

댓글0