버블 정렬

FE.1·2022년 9월 6일
0

버블 정렬(교환 정렬)이란?

이웃한 데이터들의 크고 작음을 따진 결과가 정렬 순서와 반대일 경우, 앞뒤의 데이터들의 순서를 바꾸어 데이터를 정렬하는 알고리즘

1 단계: '정렬되지 않은 부분'의 1번째 데이터와 2번째 데이터를 비교한다.
2 단계: 1번째 데이터 > 2번째 데이터라면, 두 값의 순서를 바꾼다.
3 단계: 데이터를 비교하기 시작할 위치를 뒤로 1칸 옮긴다.

예시 문제

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

let arr = [13, 5, 11, 7, 23, 15];
console.log(solution(arr));
profile
공부하자!

0개의 댓글