LearnApplyShare

[알고리즘] 버블소트

August 28, 2018 - [algorithm, bubble-sort]

거품정렬은 인접한 두 원소의 크기를 비교하며 배열의 가장 큰(또는 가장 작은) 값을 끝으로 하나씩 밀어낸다. 마치 거품이 위로 올라가는 듯한 이미지를 연상시키기 때문에 거품정렬이라는 이름이 붙었다.

한줄요약

앞에서부터 오른쪽 방향으로 이웃한 두 요소를 비교하여 큰값을 뒤로 밀어낸다


특징


자바스크립트 코드

function bubbleSort(a) {
  for (var i = 0; i < a.length - 1; i++) {
    console.log(a)
    for (var j = 0; j < a.length - 1 - i; j++) {
      if (a[j] > a[j + 1]) {
        // 오름차순
        var tmp = a[j]
        a[j] = a[j + 1]
        a[j + 1] = tmp
      }
    }
  }
  return a
}

bubbleSort([1, 4, 5, 2, 7, 8])
/*
[1, 4, 5, 2, 7, 8]
[1, 4, 2, 5, 7, 8]
[1, 2, 4, 5, 7, 8]
[1, 2, 4, 5, 7, 8]
[1, 2, 4, 5, 7, 8]
[1, 2, 4, 5, 7, 8]
*/

Ref.